git: 6381d7d0b34b - main - science/libgridxc: Update 0.9.6 -> 1.1.0; Add options for MPI choices

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Wed, 04 Jan 2023 22:12:06 UTC
The branch main has been updated by yuri:

URL: https://cgit.FreeBSD.org/ports/commit/?id=6381d7d0b34beb67ece3fa820c5e6104b5978210

commit 6381d7d0b34beb67ece3fa820c5e6104b5978210
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2023-01-04 15:55:01 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2023-01-04 22:12:02 +0000

    science/libgridxc: Update 0.9.6 -> 1.1.0; Add options for MPI choices
    
    Change to cmake.
    
    PR:             267078
    Submitted by:   diizzy@ (previous version)
---
 science/libgridxc/Makefile                         | 34 +++++++-------
 science/libgridxc/distinfo                         |  6 +--
 science/libgridxc/files/patch-CMakeLists.txt       | 19 ++++++++
 .../libgridxc/files/patch-config_CMakeLists.txt    | 11 +++++
 science/libgridxc/pkg-plist                        | 54 ++++++++++++++++------
 5 files changed, 91 insertions(+), 33 deletions(-)

diff --git a/science/libgridxc/Makefile b/science/libgridxc/Makefile
index 2c5e2fcfe078..778aa76f39f7 100644
--- a/science/libgridxc/Makefile
+++ b/science/libgridxc/Makefile
@@ -1,8 +1,7 @@
 PORTNAME=	libgridxc
-DISTVERSION=	0.9.6
+DISTVERSION=	1.1.0
 CATEGORIES=	science
-MASTER_SITES=	https://gitlab.com/siesta-project/libraries/${PORTNAME}/-/archive/${PORTNAME}-${DISTVERSION}/
-DISTNAME=	${PORTNAME}-${PORTNAME}-${DISTVERSION}
+MASTER_SITES=	https://gitlab.com/siesta-project/libraries/${PORTNAME}/-/archive/${DISTVERSION}/
 
 MAINTAINER=	yuri@FreeBSD.org
 COMMENT=	Library to compute the exchange and correlation energy and potentials
@@ -11,27 +10,30 @@ WWW=		https://gitlab.com/siesta-project/libraries/libgridxc
 LICENSE=	BSD3CLAUSE
 LICENSE_FILE=	${WRKSRC}/COPYING
 
-USES=		autoreconf fortran gmake libtool
+USES=		cmake fortran pkgconfig
 USE_LDCONFIG=	yes
 
-GNU_CONFIGURE=	yes
+CMAKE_ON=	BUILD_SHARED_LIBS
 
-INSTALL_TARGET=	install-strip
+OPTIONS_SINGLE=		MPI
+OPTIONS_SINGLE_MPI=	NOMPI MPICH OPENMPI
+OPTIONS_DEFINE=		LIBXC
+OPTIONS_DEFAULT=	LIBXC MPICH
+OPTIONS_SUB=		yes
 
-OPTIONS_DEFINE=		MPI LIBXC
-OPTIONS_DEFAULT=	# MPI LIBXC
+NOMPI_DESC=		Build without parallel processing support
 
-MPI_USES=		localbase:ldflags
-MPI_CONFIGURE_WITH=	mpi=${LOCALBASE}
-MPI_VARS=		FCFLAGS+="-I${LOCALBASE}/include" LDFLAGS+="-L${LOCALBASE}/lib -lmpifort"
-MPI_LDFLAGS=		-lmpich
-MPI_LIB_DEPENDS=	libmpich.so:net/mpich
-MPI_BROKEN=		https://gitlab.com/siesta-project/libraries/libgridxc/-/issues/15
+MPICH_USES=		mpi:mpich
+MPICH_CMAKE_ON=		-DWITH_MPI=ON
+MPICH_VARS=		FFLAGS+=-fallow-argument-mismatch
+
+OPENMPI_USES=		mpi:openmpi
+OPENMPI_CMAKE_ON=	-DWITH_MPI=ON
+OPENMPI_VARS=		FFLAGS+=-fallow-argument-mismatch
 
 LIBXC_DESC=		Use libxc for exchange-correlation functionals for DFT
-LIBXC_CONFIGURE_WITH=	libxc=${LOCALBASE}
+LIBXC_CMAKE_BOOL=	WITH_LIBXC
 LIBXC_VARS=		FCFLAGS+="-I${LOCALBASE}/include" LDFLAGS+="-L${LOCALBASE}/lib -lxcf90"
 LIBXC_LIB_DEPENDS=	libxc.so:science/libxc
-LIBXC_BROKEN=		https://gitlab.com/siesta-project/libraries/libgridxc/-/issues/16
 
 .include <bsd.port.mk>
diff --git a/science/libgridxc/distinfo b/science/libgridxc/distinfo
index 8d5f7baeaa2a..38361b759c64 100644
--- a/science/libgridxc/distinfo
+++ b/science/libgridxc/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1619224742
-SHA256 (libgridxc-libgridxc-0.9.6.tar.gz) = 3b89ccc02d65729ea2d7cb291ae1d9b53acd65c1fd144e8846362cffb71b114a
-SIZE (libgridxc-libgridxc-0.9.6.tar.gz) = 278448
+TIMESTAMP = 1672867830
+SHA256 (libgridxc-1.1.0.tar.gz) = e7883e57a4db2438ee59437740291c06e0cfe1c8ae1901e4001f32312307e46a
+SIZE (libgridxc-1.1.0.tar.gz) = 357558
diff --git a/science/libgridxc/files/patch-CMakeLists.txt b/science/libgridxc/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..ed2133ef2420
--- /dev/null
+++ b/science/libgridxc/files/patch-CMakeLists.txt
@@ -0,0 +1,19 @@
+--- CMakeLists.txt.orig	2023-01-04 21:32:59 UTC
++++ CMakeLists.txt
+@@ -128,11 +128,11 @@ install(
+   DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/${module-dir}"
+ )
+ # Package license files
+-install(
+-  FILES
+-  "COPYING"
+-  DESTINATION "${CMAKE_INSTALL_DATADIR}/licenses/${PROJECT_NAME}"
+-)
++#install(
++#  FILES
++#  "COPYING"
++#  DESTINATION "${CMAKE_INSTALL_DATADIR}/licenses/${PROJECT_NAME}"
++#)
+ 
+ add_subdirectory("docs")
+ 
diff --git a/science/libgridxc/files/patch-config_CMakeLists.txt b/science/libgridxc/files/patch-config_CMakeLists.txt
new file mode 100644
index 000000000000..de51fc3b20d4
--- /dev/null
+++ b/science/libgridxc/files/patch-config_CMakeLists.txt
@@ -0,0 +1,11 @@
+--- config/CMakeLists.txt.orig	2023-01-04 21:36:32 UTC
++++ config/CMakeLists.txt
+@@ -10,7 +10,7 @@ endif()
+ 
+ set(
+   module-dir
+-  "${PROJECT_NAME}/${CMAKE_Fortran_COMPILER_ID}-${CMAKE_Fortran_COMPILER_VERSION}"
++  "${PROJECT_NAME}"
+ )
+ set(module-dir "${module-dir}" PARENT_SCOPE)
+ 
diff --git a/science/libgridxc/pkg-plist b/science/libgridxc/pkg-plist
index 4917f4bef5bd..cdef24a1782d 100644
--- a/science/libgridxc/pkg-plist
+++ b/science/libgridxc/pkg-plist
@@ -1,16 +1,42 @@
-include/gridxc/debugxc.mod
-include/gridxc/gridxc.mod
-include/gridxc/gridxc_config.mod
-include/gridxc/gridxc_fft_gpfa.mod
-include/gridxc/m_atomxc.mod
-include/gridxc/m_cellxc.mod
-include/gridxc/m_ggaxc.mod
-include/gridxc/m_ldaxc.mod
-include/gridxc/mesh3d.mod
-include/gridxc/xcmod.mod
-lib/libgridxc.a
+include/libgridxc/gridxc.mod
+include/libgridxc/gridxc_alloc.mod
+include/libgridxc/gridxc_am05.mod
+include/libgridxc/gridxc_array.mod
+include/libgridxc/gridxc_atom.mod
+include/libgridxc/gridxc_bessph.mod
+include/libgridxc/gridxc_cell.mod
+include/libgridxc/gridxc_cellsubs.mod
+include/libgridxc/gridxc_chkgmx.mod
+include/libgridxc/gridxc_config.mod
+include/libgridxc/gridxc_debugxc.mod
+include/libgridxc/gridxc_fft3d.mod
+include/libgridxc/gridxc_fft_gpfa.mod
+include/libgridxc/gridxc_fftr.mod
+include/libgridxc/gridxc_gga.mod
+include/libgridxc/gridxc_gpfa_core_dp.mod
+include/libgridxc/gridxc_gpfa_core_sp.mod
+include/libgridxc/gridxc_hybrids.mod
+include/libgridxc/gridxc_interpolation.mod
+include/libgridxc/gridxc_io.mod
+include/libgridxc/gridxc_lda.mod
+include/libgridxc/gridxc_mesh1d.mod
+include/libgridxc/gridxc_mesh3d.mod
+include/libgridxc/gridxc_minvec.mod
+include/libgridxc/gridxc_moreparallelsubs.mod
+include/libgridxc/gridxc_precision.mod
+include/libgridxc/gridxc_radfft.mod
+include/libgridxc/gridxc_sorting.mod
+include/libgridxc/gridxc_sys.mod
+include/libgridxc/gridxc_vdwxc.mod
+include/libgridxc/gridxc_vv_vdwxc.mod
+include/libgridxc/gridxc_walltime.mod
+include/libgridxc/gridxc_xcmod.mod
+include/libgridxc/gridxc_xwpbe.mod
+lib/cmake/libgridxc/libgridxc-config-version.cmake
+lib/cmake/libgridxc/libgridxc-config.cmake
+lib/cmake/libgridxc/libgridxc-targets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/libgridxc/libgridxc-targets.cmake
 lib/libgridxc.so
-lib/libgridxc.so.0
-lib/libgridxc.so.0.0.0
+lib/libgridxc.so.1
+lib/libgridxc.so.1.1.0
 libdata/pkgconfig/libgridxc.pc
-share/org.siesta-project/gridxc.mk