commit:     75bdb13a13345ae3addbad16c9e18e02616131c2
Author:     Andrew Ammerlaan <andrewammerlaan <AT> riseup <DOT> net>
AuthorDate: Sat Jan 30 14:13:08 2021 +0000
Commit:     Andrew Ammerlaan <andrewammerlaan <AT> riseup <DOT> net>
CommitDate: Sat Jan 30 14:13:38 2021 +0000
URL:        https://gitweb.gentoo.org/proj/sci.git/commit/?id=75bdb13a

ci-misc/elmer-fem: version bump, EAPI bump, add more USE flags

Package-Manager: Portage-3.0.14, Repoman-3.0.2
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> riseup.net>

 sci-misc/elmer-fem/elmer-fem-6.0_p4651.ebuild      | 52 ---------------
 sci-misc/elmer-fem/elmer-fem-9.0.ebuild            | 68 ++++++++++++++++++++
 sci-misc/elmer-fem/elmer-fem-9999.ebuild           | 54 ----------------
 .../elmer-fem/files/elmer-fem-6.0_p4651-oos.patch  | 75 ----------------------
 .../files/elmer-fem-6.0_p4651-underlinking.patch   | 23 -------
 .../files/elmer-fem-ElmerIce-compile.patch         | 58 +++++++++++++++++
 .../files/elmer-fem-Makefile-install.patch         | 13 ----
 sci-misc/elmer-fem/metadata.xml                    |  5 ++
 8 files changed, 131 insertions(+), 217 deletions(-)

diff --git a/sci-misc/elmer-fem/elmer-fem-6.0_p4651.ebuild 
b/sci-misc/elmer-fem/elmer-fem-6.0_p4651.ebuild
deleted file mode 100644
index 94d7a8e9f..000000000
--- a/sci-misc/elmer-fem/elmer-fem-6.0_p4651.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-AUTOTOOLS_AUTORECONF=true
-FORTRAN_STANDARD=90
-
-inherit autotools-utils fortran-2 multilib
-
-ELMER_ROOT="elmerfem"
-MY_PN=${PN/elmer-/}
-
-DESCRIPTION="Finite element programs, libraries, and visualization tools - 
main fem"
-HOMEPAGE="https://www.csc.fi/web/elmer";
-SRC_URI="http://elmerfem.svn.sourceforge.net/viewvc/${ELMER_ROOT}/release/${PV%_p*}/${MY_PN}/?view=tar&pathrev=4651
 -> ${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="mpi debug"
-
-RDEPEND="
-       virtual/blas
-       virtual/lapack
-       sci-libs/arpack
-       sci-libs/elmer-hutiter
-       sci-libs/elmer-eio
-       mpi?     ( sys-cluster/mpich2 )"
-DEPEND="${RDEPEND}"
-# Note this seems to only configure correctly with the elmer version of umfpack
-# But this doesn't stop it from compiling / working without it
-
-S="${WORKDIR}/fem"
-
-PATCHES=(
-       "${FILESDIR}"/${P}-oos.patch
-       "${FILESDIR}"/${P}-underlinking.patch
-)
-
-src_configure() {
-       local myeconfargs=(
-               $(use_with debug)
-               $(usex mpi --with-mpi "")
-               $(usex mpi --with-mpi-dir="${EPREFIX}"/usr "")
-               --with-arpack="$($(tc-getPKG_CONFIG) --libs arpack)"
-               --with-blas="$($(tc-getPKG_CONFIG) --libs blas)"
-               --with-lapack="$($(tc-getPKG_CONFIG) --libs lapack)"
-               --with-huti     --with-eiof --with-matc
-       )
-       autotools-utils_src_configure
-}

diff --git a/sci-misc/elmer-fem/elmer-fem-9.0.ebuild 
b/sci-misc/elmer-fem/elmer-fem-9.0.ebuild
new file mode 100644
index 000000000..8db83bd30
--- /dev/null
+++ b/sci-misc/elmer-fem/elmer-fem-9.0.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+FORTRAN_STANDARD=90
+
+inherit fortran-2 flag-o-matic cmake multilib
+
+ELMER_ROOT="elmerfem"
+MY_PN=${PN/elmer-/}
+
+DESCRIPTION="Finite element programs, libraries, and visualization tools"
+HOMEPAGE="https://www.csc.fi/web/elmer http://www.elmerfem.org/blog/";
+SRC_URI="https://github.com/ElmerCSC/elmerfem/archive/release-${PV}.tar.gz -> 
${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+IUSE="ice gui matc mpi test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+       virtual/blas
+       virtual/lapack
+       !sci-libs/arpack
+       mpi? ( sys-cluster/openmpi )
+       gui? ( x11-libs/qwt:6 )
+"
+DEPEND="${RDEPEND}"
+# Note this seems to only configure correctly with the elmer version of umfpack
+# But this doesn't stop it from compiling / working without it
+
+PATCHES=(
+       "${FILESDIR}/${PN}-ElmerIce-compile.patch"
+)
+
+S="${WORKDIR}/elmerfem-release-${PV}"
+
+src_prepare() {
+       cmake_src_prepare
+       sed -i '/#include <QPainter>/a #include <QPainterPath>' 
ElmerGUI/Application/twod/renderarea.cpp || die
+       test-flag-FC -fallow-argument-mismatch && append-fflags 
-fallow-argument-mismatch
+       test-flag-FC -fallow-invalid-boz && append-fflags -fallow-invalid-boz
+       # TODO: fix the tests, fails in compile phase: multiple rules to make 
target
+       rm -r fem/tests/* || die
+       touch fem/tests/CMakeLists.txt || die
+}
+
+src_configure() {
+       local mycmakeargs=(
+               -DMPI_Fortran_COMPILE_FLAGS="$FCFLAGS"
+               -DCMAKE_Fortran_FLAGS="$FCFLAGS"
+               -DELMER_INSTALL_LIB_DIR="/usr/$(get_libdir)"
+               -DWITH_MPI="$(usex mpi)"
+               -DWITH_OpenMP="$(usex mpi)"
+               -DWITH_MATC="$(usex matc)"
+               -DWITH_ElmerIce="$(usex ice)"
+               -DWITH_ELMERGUI="$(usex gui)"
+               -DWITH_QT5="$(usex gui)"
+               -DWITH_QWT="$(usex gui)"
+               -DQWT_INCLUDE_DIR="/usr/include/qwt6"
+               -DQWT_LIBRARY="/usr/$(get_libdir)/libqwt6-qt5.so"
+               -DBUILD_TESTING="$(usex test)"
+       )
+       cmake_src_configure
+}

diff --git a/sci-misc/elmer-fem/elmer-fem-9999.ebuild 
b/sci-misc/elmer-fem/elmer-fem-9999.ebuild
deleted file mode 100644
index 1004db431..000000000
--- a/sci-misc/elmer-fem/elmer-fem-9999.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-AUTOTOOLS_AUTORECONF=true
-FORTRAN_STANDARD=90
-
-inherit autotools-utils fortran-2 multilib subversion
-
-ELMER_ROOT="elmerfem"
-MY_PN=${PN/elmer-/}
-
-DESCRIPTION="Finite element programs, libraries, and visualization tools - 
main fem"
-HOMEPAGE="https://www.csc.fi/web/elmer";
-SRC_URI=""
-ESVN_REPO_URI="https://elmerfem.svn.sourceforge.net/svnroot/elmerfem/trunk/${MY_PN}";
-ESVN_PROJECT="${MY_PN}"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS=""
-IUSE="mpi debug"
-
-RDEPEND="
-       virtual/blas
-       virtual/lapack
-       sci-libs/arpack
-       sci-libs/elmer-hutiter
-       sci-libs/elmer-eio
-       mpi?     ( sys-cluster/mpich2 )"
-DEPEND="${RDEPEND}"
-# Note this seems to only configure correctly with the elmer version of umfpack
-# But this doesn't stop it from compiling / working without it
-
-S="${WORKDIR}/fem"
-
-PATCHES=(
-       "${FILESDIR}"/${PN}-6.0_p4651-oos.patch
-       "${FILESDIR}"/${PN}-6.0_p4651-underlinking.patch
-)
-
-src_configure() {
-       local myeconfargs=(
-               $(use_with debug)
-               $(usex mpi --with-mpi "")
-               $(usex mpi --with-mpi-dir="${EPREFIX}"/usr "")
-               --with-arpack="$($(tc-getPKG_CONFIG) --libs arpack)"
-               --with-blas="$($(tc-getPKG_CONFIG) --libs blas)"
-               --with-lapack="$($(tc-getPKG_CONFIG) --libs lapack)"
-               --with-huti     --with-eiof --with-matc
-       )
-       autotools-utils_src_configure
-}

diff --git a/sci-misc/elmer-fem/files/elmer-fem-6.0_p4651-oos.patch 
b/sci-misc/elmer-fem/files/elmer-fem-6.0_p4651-oos.patch
deleted file mode 100644
index 00291bc56..000000000
--- a/sci-misc/elmer-fem/files/elmer-fem-6.0_p4651-oos.patch
+++ /dev/null
@@ -1,75 +0,0 @@
- src/Makefile.am | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/src/Makefile.am b/src/Makefile.am
-index 9e48c31..b94705c 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -182,11 +182,11 @@ SC2Elmer_SOURCES = SC2Elmer.c
- 
- if USE_LOCAL_MPIF_H
- mpif: mpif_stub.h
--      $(CP) mpif_stub.h mpif.h
--      $(CP) mpif_stub.h mpif
-+      $(CP) $(srcdir)/mpif_stub.h mpif.h
-+      $(CP) $(srcdir)/mpif_stub.h mpif
- else 
- mpif: mpif_stub.h
--      $(CP) mpif_stub.h mpif
-+      $(CP) $(srcdir)/mpif_stub.h mpif
- endif
- 
- EXTRA_DIST = \
- src/Makefile.am | 25 +++++++++++++------------
- 1 file changed, 13 insertions(+), 12 deletions(-)
-
-diff --git a/src/Makefile.am b/src/Makefile.am
-index 92de7a4..89a2236 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -144,32 +144,33 @@ ELMER_SOLVER_DATADIR=$(prefix)/share/elmersolver
- install-data-local:
-       @echo "Installing solvers to ${ELMER_SOLVER_DATADIR}/lib"
- 
--      mkdir -p $(DESTDIR)$(ELMER_SOLVER_DATADIR)/lib
--      $(CP) `ls -f *$(SHL_EXT) | grep -v libelmersolver` 
$(DESTDIR)$(ELMER_SOLVER_DATADIR)/lib
--      $(CP) elements.def $(DESTDIR)$(ELMER_SOLVER_DATADIR)/lib
--      $(CP) SOLVER.KEYWORDS $(DESTDIR)$(ELMER_SOLVER_DATADIR)/lib
-+      mkdir -p $(DESTDIR)$(ELMER_SOLVER_DATADIR)/$(libdir)
-+      $(CP) `ls -f $(builddir)/*$(SHL_EXT) | grep -v libelmersolver` 
$(DESTDIR)$(ELMER_SOLVER_DATADIR)/$(libdir)
-+      $(CP) $(srcdir)/elements.def $(DESTDIR)$(ELMER_SOLVER_DATADIR)/$(libdir)
-+      $(CP) $(srcdir)/SOLVER.KEYWORDS 
$(DESTDIR)$(ELMER_SOLVER_DATADIR)/$(libdir)
- 
-       @echo "Installing *.mod to ${ELMER_SOLVER_DATADIR}/include"
-       mkdir -p $(DESTDIR)$(ELMER_SOLVER_DATADIR)/include
--      $(CP) *.mod $(DESTDIR)$(ELMER_SOLVER_DATADIR)/include
-+      $(CP) $(builddir)/*.mod $(DESTDIR)$(ELMER_SOLVER_DATADIR)/include
- 
- 
- install-exec-local:
-       @echo "Installing stuff to ${prefix}/bin"
-       $(MKDIR) $(DESTDIR)$(prefix)/bin
--      $(CP) ElmerSolver$(EXEEXT) $(DESTDIR)$(prefix)/bin
--      $(CP) ViewFactors$(EXEEXT) $(DESTDIR)$(prefix)/bin
--      $(CP) GebhardtFactors$(EXEEXT) $(DESTDIR)$(prefix)/bin
-+      $(CP) $(builddir)/ElmerSolver$(EXEEXT) $(DESTDIR)$(prefix)/bin
-+      $(CP) $(builddir)/ViewFactors$(EXEEXT) $(DESTDIR)$(prefix)/bin
-+      $(CP) $(builddir)/GebhardtFactors$(EXEEXT) $(DESTDIR)$(prefix)/bin
- if USE_WINDOWS_COMPILER
-       $(CP) libelmersolver*$(SHL_EXT) $(DESTDIR)$(prefix)/lib
- else
--      $(CP) libelmersolver-$(VERSION)$(SHL_EXT) $(DESTDIR)$(prefix)/lib
-+      mkdir -p $(DESTDIR)$(prefix)/$(libdir)
-+      $(CP) $(builddir)/libelmersolver-$(VERSION)$(SHL_EXT) 
$(DESTDIR)$(prefix)/$(libdir)
-       $(LN) -sf libelmersolver-$(VERSION)$(SHL_EXT)\
--              $(DESTDIR)$(prefix)/lib/libelmersolver$(SHL_EXT)
-+              $(DESTDIR)$(prefix)/$(libdir)/libelmersolver$(SHL_EXT)
- endif
--      $(CP) elmerf90 elmerf90-nosh elmerld $(DESTDIR)$(prefix)/bin
-+      $(CP) $(builddir)/elmerf90 $(builddir)/elmerf90-nosh elmerld 
$(DESTDIR)$(prefix)/bin
- if USE_MPI
--      $(CP) ElmerSolver_mpi$(EXEEXT) $(DESTDIR)$(prefix)/bin
-+      $(CP) $(builddir)/ElmerSolver_mpi$(EXEEXT) $(DESTDIR)$(prefix)/bin
- endif
- 
- clean-local:

diff --git a/sci-misc/elmer-fem/files/elmer-fem-6.0_p4651-underlinking.patch 
b/sci-misc/elmer-fem/files/elmer-fem-6.0_p4651-underlinking.patch
deleted file mode 100644
index 7c6be1d8c..000000000
--- a/sci-misc/elmer-fem/files/elmer-fem-6.0_p4651-underlinking.patch
+++ /dev/null
@@ -1,23 +0,0 @@
- src/Makefile.am | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/Makefile.am b/src/Makefile.am
-index b94705c..92de7a4 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -122,13 +122,13 @@ if USE_WINDOWS_COMPILER
- else
-       $(FC) $(SH_LINKING_TO_FLAGS) $(RPATH_ELMER) $(B64FLAGS) $(LDFLAGS) \
-             -o ViewFactors$(EXE_EXT) ViewFactors$(OBJ_EXT) 
mpi_stubs$(OBJ_EXT) \
--            -L. -lelmersolver viewaxis/libviewaxis.a view3d/libview3d.a 
$(EXTRA_LIBS) $(BLAS_LIBS) $(STDCXX_LIBS)
-+            -L. -lelmersolver viewaxis/libviewaxis.a view3d/libview3d.a 
$(EXTRA_LIBS) $(BLAS_LIBS) $(STDCXX_LIBS) -lhuti
- endif
- 
- GebhardtFactors$(EXE_EXT): libelmersolver$(SHL_EXT) GebhardtFactors$(OBJ_EXT) 
mpi_stubs$(OBJ_EXT)
-       $(FC) $(SH_LINKING_TO_FLAGS) $(RPATH_ELMER) $(B64FLAGS) $(LDFLAGS) \
-             -o GebhardtFactors$(EXE_EXT) GebhardtFactors$(OBJ_EXT) 
mpi_stubs$(OBJ_EXT) \
--            -L. -lelmersolver viewaxis/libviewaxis.a view3d/libview3d.a 
$(EXTRA_LIBS)
-+            -L. -lelmersolver viewaxis/libviewaxis.a view3d/libview3d.a 
$(EXTRA_LIBS) -lhuti
- 
- 
- 

diff --git a/sci-misc/elmer-fem/files/elmer-fem-ElmerIce-compile.patch 
b/sci-misc/elmer-fem/files/elmer-fem-ElmerIce-compile.patch
new file mode 100644
index 000000000..c8a065e30
--- /dev/null
+++ b/sci-misc/elmer-fem/files/elmer-fem-ElmerIce-compile.patch
@@ -0,0 +1,58 @@
+diff --color -Naur a/elmerice/Solvers/CalvingRemeshMMG.F90 
b/elmerice/Solvers/CalvingRemeshMMG.F90
+--- a/elmerice/Solvers/CalvingRemeshMMG.F90    2018-12-19 12:34:45.000000000 
+0300
++++ b/elmerice/Solvers/CalvingRemeshMMG.F90    2020-12-12 22:39:24.040363020 
+0300
+@@ -71,6 +71,7 @@
+   TYPE(ValueList_t), POINTER :: SolverParams
+   TYPE(Mesh_t),POINTER :: Mesh,GatheredMesh,NewMeshR,FinalMesh
+   TYPE(Element_t),POINTER :: Element, ParentElem
++  TYPE(MMG5_DATA_PTR_T),POINTER :: mmgMet
+   INTEGER :: i,j,k,NNodes,GNBulk, GNBdry, GNNode, NBulk, Nbdry, ierr, &
+        my_cboss,MyPE, PEs,CCount, counter, GlNode_min, 
GlNode_max,adjList(4),front_BC_ID, &
+        my_calv_front,calv_front, ncalv_parts, group_calve, comm_calve, 
group_world,ecode, NElNodes
+@@ -426,7 +427,7 @@
+ 
+       !> ------------------------------ STEP  II --------------------------
+       !! remesh function
+-      CALL MMG3D_mmg3dls(mmgMesh,mmgSol,ierr)
++      CALL MMG3D_mmg3dls(mmgMesh,mmgSol,mmgMet,ierr)
+ 
+       CALL 
MMG3D_SaveMesh(mmgMesh,"test_out.mesh",LEN(TRIM("test_out.mesh")),ierr)
+ 
+diff --color -Naur a/elmerice/Solvers/MeshAdaptation_2D/MMG2DSolver.F90 
b/elmerice/Solvers/MeshAdaptation_2D/MMG2DSolver.F90
+--- a/elmerice/Solvers/MeshAdaptation_2D/MMG2DSolver.F90       2018-12-19 
12:34:45.000000000 +0300
++++ b/elmerice/Solvers/MeshAdaptation_2D/MMG2DSolver.F90       2020-12-12 
22:42:32.639562150 +0300
+@@ -310,14 +310,14 @@
+ 
!------------------------------------------------------------------------------
+       TYPE(Element_t),POINTER ::  Element
+       INTEGER, POINTER :: NodeIndexes(:)
+-      INTEGER :: np,nt,na,ier
++      INTEGER :: np,nt,na,ier,nquad
+       INTEGER :: ref,corner,required,ridge
+       INTEGER :: parent,ied
+       INTEGER :: tt, jj, kk, ll
+ 
+ 
+      !> a) get the size of the mesh: vertices,  triangles, edges
+-      CALL MMG2D_Get_meshSize(mmgMesh,np,nt,na,ier)
++      CALL MMG2D_Get_meshSize(mmgMesh,np,nt,nquad,na,ier)
+       IF ( ier == 0 ) CALL FATAL('MMGSolver',&
+                            'CALL TO MMGS_Get_meshSize FAILED')
+       IF (DEBUG) PRINT *,'--**-- MMG2D_Get_meshSize DONE'    
+@@ -467,7 +467,7 @@
+       TYPE(Element_t),POINTER :: Element
+       INTEGER, POINTER :: NodeIndexes(:)
+ 
+-      INTEGER :: NVert,NEle,NEdge
++      INTEGER :: NVert,NEle,NEdge,NQuad
+       INTEGER :: n
+       INTEGER :: ier
+       INTEGER :: ii,tt
+@@ -476,7 +476,7 @@
+       NEle=Mesh%NumberOfBulkElements
+       NEdge=Mesh%NumberOfBoundaryElements
+ 
+-      CALL MMG2D_Set_meshSize(mmgMesh,NVert,NEle,NEdge,ier)
++      CALL MMG2D_Set_meshSize(mmgMesh,NVert,NEle,NQuad,NEdge,ier)
+       IF ( ier == 0 ) CALL FATAL('MMGSolver',&
+                         'CALL TO MMG2D_Set_meshSize FAILED')
+       IF (DEBUG) PRINT *,'--**-- MMG2D_Set_meshSize DONE'

diff --git a/sci-misc/elmer-fem/files/elmer-fem-Makefile-install.patch 
b/sci-misc/elmer-fem/files/elmer-fem-Makefile-install.patch
deleted file mode 100644
index d0de4fe8b..000000000
--- a/sci-misc/elmer-fem/files/elmer-fem-Makefile-install.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- fem/src/Makefile.am.old    2012-11-12 14:50:05.435767716 +0100
-+++ fem/src/Makefile.am        2012-11-12 14:51:29.271802187 +0100
-@@ -154,8 +154,9 @@
- 
- 
- install-exec-local:
--      @echo "Installing stuff to ${prefix}/bin"
-+      @echo "Installing stuff to ${DESTDIR}${prefix}/bin"
-       $(MKDIR) $(DESTDIR)$(prefix)/bin
-+      $(MKDIR) $(DESTDIR)$(prefix)/lib
-       $(CP) ElmerSolver$(EXEEXT) $(DESTDIR)$(prefix)/bin
-       $(CP) ViewFactors$(EXEEXT) $(DESTDIR)$(prefix)/bin
-       $(CP) GebhardtFactors$(EXEEXT) $(DESTDIR)$(prefix)/bin

diff --git a/sci-misc/elmer-fem/metadata.xml b/sci-misc/elmer-fem/metadata.xml
index 070aa2029..ddc96e650 100644
--- a/sci-misc/elmer-fem/metadata.xml
+++ b/sci-misc/elmer-fem/metadata.xml
@@ -8,4 +8,9 @@
        <upstream>
                <remote-id type="sourceforge">svn</remote-id>
        </upstream>
+       <use>
+               <flag name="gui">Build the ElmerGUI</flag>
+               <flag name="matc">Build the Elmer matc library</flag>
+               <flag name="ice">Build ElmerICE</flag>
+       </use>
 </pkgmetadata>

Reply via email to