aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sci-physics/openmx/Manifest5
-rw-r--r--sci-physics/openmx/files/3.7-fortran_objects.patch15
-rw-r--r--sci-physics/openmx/openmx-3.6.ebuild96
-rw-r--r--sci-physics/openmx/openmx-3.9.ebuild (renamed from sci-physics/openmx/openmx-3.7.8.ebuild)87
4 files changed, 35 insertions, 168 deletions
diff --git a/sci-physics/openmx/Manifest b/sci-physics/openmx/Manifest
index 429fb1ea5..0017a79ab 100644
--- a/sci-physics/openmx/Manifest
+++ b/sci-physics/openmx/Manifest
@@ -1,4 +1 @@
-DIST openmx3.6.tar.gz 83023744 SHA256 e344914a615d4179e724877207335e44f9d629cd3931b70e135011877355ab71 SHA512 f4d59e839bbd216893149c83d1059aa4dc4fb011d113cb40efbd99db96d558501b371628f0ea064d3091d8ef0d2c8664412b0c3541fa2a7135811e3536cb0018 WHIRLPOOL 54c72309133dbb010218ce138992362e98eb4c345eb3b2897e1d86f3f2469cc95a2024c8547cc3dc0db78befaf620e624640b6a64522c0937bf7158658a28109
-DIST openmx3.7.tar.gz 117784869 BLAKE2B 7b9229058e7f6999a66ca2342819603dd730e88f2ef1de531979940447b9e885b5e34f6cb59088ed87a3b9527a91ebde6ee5a1eef132b51dce2e10ba1d350f84 SHA512 e05e2839776be17d0df71818444ff7234b75f00177111ff4003eacbe3663a025965990c293cd1dfa078c3960fe89385cbe16393c9cfaf5953e1c683e7964423a
-DIST patch3.6.1.tar.gz 202531 SHA256 56cba052a84c73bf332ff3a65787001376f8d50ec50e7e363a67dfb5b417febd SHA512 1f1c2c156c80a21649826cfaeb79a9b2b7d81b46920e713fb0e4489eeceb8cc6a9193c49efb0d4c1a1a69313e21186e10ed4fd97d27e63b555ce1092425c641d WHIRLPOOL 006cb7ec822ef485c03a371b9c3a99c426fc5e6e1249fd17d9f5527f0220f09df1acc049e31a59d6834a3ce44431ae385268954898613a9fe31ff892262a5503
-DIST patch3.7.8.tar.gz 147931 BLAKE2B 2263893bbcd899375b4fa29c82ec4c5ae0f4c50352616f773ae5297afa5d6881d9a4c6cc3b4e4d0f2c2d25a71b977ef7a07db67d069c9693dddd7aa8c7d2d627 SHA512 4fa088e121b63db68be47c5a105fcdce660ef4a6d705d5390e8ce3405fbedf98abefeb10099034bd4046541cba7c050a06afccd67eaab2f413bb1d160a1ba460
+DIST openmx3.9.tar.gz 166014953 BLAKE2B 1aba4107a2b8d014da40e7851ac33c3678fa1d25e30b7cbfc02017d349d89ed577f2bbd0341cb44e519fc2879879adca83140a9c216fd102842deff6c5d35ec2 SHA512 dc8f0712ccf02be749b640f9e1678fcc83cb9821589f1f5091d18b2ba68b909389c80dc1e469ba4d81105281f45790f1b699198c0e12590aeb6a73cf2d2c4ac2
diff --git a/sci-physics/openmx/files/3.7-fortran_objects.patch b/sci-physics/openmx/files/3.7-fortran_objects.patch
deleted file mode 100644
index 62521a4da..000000000
--- a/sci-physics/openmx/files/3.7-fortran_objects.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff -Naurp openmx3.7.orig/source/makefile openmx3.7/source/makefile
---- openmx3.7.orig/source/makefile 2013-06-18 11:22:23.000000000 +0000
-+++ openmx3.7/source/makefile 2013-06-18 11:36:31.118716378 +0000
-@@ -818,8 +818,8 @@ TRAN_Set_SurfOverlap_NC.o: TRAN_Set_Surf
-
-
- elpa1.o: elpa1.f90
-- $(FC) -c elpa1.f90
-+ $(FC) -c elpa1.f90 -o elpa1.o
- solve_evp_real.o: solve_evp_real.f90
-- $(FC) -c solve_evp_real.f90
-+ $(FC) -c solve_evp_real.f90 -o solve_evp_real.o
- solve_evp_complex.o: solve_evp_complex.f90
-- $(FC) -c solve_evp_complex.f90
-+ $(FC) -c solve_evp_complex.f90 -o solve_evp_complex.o
diff --git a/sci-physics/openmx/openmx-3.6.ebuild b/sci-physics/openmx/openmx-3.6.ebuild
deleted file mode 100644
index 4da849ef5..000000000
--- a/sci-physics/openmx/openmx-3.6.ebuild
+++ /dev/null
@@ -1,96 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit eutils multilib toolchain-funcs
-
-DESCRIPTION="Material eXplorer"
-HOMEPAGE="http://www.openmx-square.org/"
-SRC_URI="
- http://www.openmx-square.org/${PN}${PV}.tar.gz
- http://www.openmx-square.org/bugfixed/11Nov14/patch${PV}.1.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="-debug mpi openmp test"
-
-RDEPEND="
- virtual/blas
- virtual/lapack
- sci-libs/fftw:3.0[mpi?,openmp?]
- mpi? ( virtual/mpi )"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-S="${WORKDIR}/${PN}${PV}"
-
-pkg_setup() {
- if use mpi; then
- export CC="mpicc"
- else
- tc-export CC
- fi
-
- if use openmp; then
- if tc-has-openmp; then
- export CC="${CC} -fopenmp"
- else
- die "Please switch to an openmp compatible compiler"
- fi
- fi
-}
-
-src_prepare() {
- cd "${WORKDIR}"
- mv *.out "${PN}${PV}"/work/input_example
- mv *.[hc] "${PN}${PV}"/source
-}
-
-src_configure() {
- local FFTW_FLAVOUR=fftw3
- if use openmp; then
- FFTW_FLAVOUR=fftw3_omp
- else
- export CFLAGS="${CFLAGS} -Dnoomp"
- fi
- if use mpi; then
- FFTW_FLAVOUR=fftw3_mpi
- else
- export CFLAGS="${CFLAGS} -Dnompi"
- fi
- CFLAGS="${CFLAGS} $($(tc-getPKG_CONFIG) --cflags lapack)"
- CFLAGS="${CFLAGS} $($(tc-getPKG_CONFIG) --cflags ${FFTW_FLAVOUR})"
- export CFLAGS
-
- local MX_LIB="$($(tc-getPKG_CONFIG) --static --libs lapack)"
- local MX_LIB="${MX_LIB} $($(tc-getPKG_CONFIG) --static --libs ${FFTW_FLAVOUR})"
-
- sed \
- -e "s%^CC *=.*$%CC = ${CC} ${CFLAGS}%" \
- -e "s%^LIB *=.*$%LIB = ${MX_LIB}%" \
- -i source/makefile || die
-}
-
-src_compile() {
- emake -C source
-}
-
-src_test() {
- cd work
- ../source/openmx -runtest || die
-}
-
-src_install() {
- insinto /usr/share/${P}
- doins -r DFT_DATA11
- cd work
- insinto /usr/share/${P}/examples
- doins -r *
- cd ../source
- dodir /usr/bin
- emake DESTDIR="${D}/usr/bin" install
- dodoc "${S}/${PN}${PV}.pdf"
- use test && dodoc "${S}"/work/runtest.result
-}
diff --git a/sci-physics/openmx/openmx-3.7.8.ebuild b/sci-physics/openmx/openmx-3.9.ebuild
index 3a9758c85..dd2aa4975 100644
--- a/sci-physics/openmx/openmx-3.7.8.ebuild
+++ b/sci-physics/openmx/openmx-3.9.ebuild
@@ -1,34 +1,29 @@
-# Copyright 1999-2014 Gentoo Foundation
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
+EAPI=7
-inherit eutils multilib toolchain-funcs fortran-2
-
-PATCHDATE="14Feb17"
+inherit multilib toolchain-funcs flag-o-matic fortran-2
DESCRIPTION="Material eXplorer"
-HOMEPAGE="http://www.openmx-square.org/"
-SRC_URI="
- http://www.openmx-square.org/${PN}${PV%.[0-9]}.tar.gz
- http://www.openmx-square.org/bugfixed/${PATCHDATE}/patch${PV}.tar.gz"
+HOMEPAGE="http://www.openmx-square.org/" # no https, SSL invalid
+SRC_URI="http://t-ozaki.issp.u-tokyo.ac.jp/${PN}${PV}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="-debug mpi openmp test"
+KEYWORDS=""
+
+IUSE="debug openmp test"
RDEPEND="
virtual/blas
virtual/lapack
- sci-libs/fftw:3.0[mpi?,openmp?]
- mpi? ( virtual/mpi )"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-S="${WORKDIR}/${PN}${PV%.[0-9]}"
+ virtual/mpi
+ sci-libs/fftw:3.0[mpi,openmp?]"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
-MAKEOPTS+=" -j1"
+S="${WORKDIR}/${PN}${PV}/source"
FORTRAN_STANDARD=90
@@ -41,13 +36,8 @@ pkg_setup() {
fi
export FC_LIB
- if use mpi; then
- export CC="mpicc"
- export FC="mpif90"
- else
- tc-export CC
- tc-export FC
- fi
+ export CC="mpicc"
+ export FC="mpif90"
if use openmp; then FORTRAN_NEED_OPENMP=1; fi
@@ -107,63 +97,54 @@ pkg_setup() {
}
-src_prepare() {
- cd "${WORKDIR}"
- mv *.[hc] "${S}"/source
- epatch "${FILESDIR}/3.7-fortran_objects.patch"
-}
-
src_configure() {
local FFTW_FLAVOUR=fftw3
if use openmp; then
FFTW_FLAVOUR=fftw3_omp
else
- export CFLAGS="${CFLAGS} -Dnoomp"
- fi
- if use mpi; then
- FFTW_FLAVOUR=fftw3_mpi
- else
- export CFLAGS="${CFLAGS} -Dnompi"
+ append-cflag -Dnoomp
fi
- CFLAGS="${CFLAGS} $($(tc-getPKG_CONFIG) --cflags lapack)"
- CFLAGS="${CFLAGS} $($(tc-getPKG_CONFIG) --cflags ${FFTW_FLAVOUR})"
- export CFLAGS
+ append-cflags $($(tc-getPKG_CONFIG) --cflags lapack)
+ append-cflags $($(tc-getPKG_CONFIG) --cflags ${FFTW_FLAVOUR})
- FCFLAGS="${FCFLAGS} -I/usr/include"
- FCFLAGS="${FCFLAGS} $($(tc-getPKG_CONFIG) --cflags lapack)"
- FCFLAGS="${FCFLAGS} $($(tc-getPKG_CONFIG) --cflags ${FFTW_FLAVOUR})"
- export FCFLAGS
+ append-fflags -I/usr/include
+ append-fflags $($(tc-getPKG_CONFIG) --cflags lapack)
+ append-fflags $($(tc-getPKG_CONFIG) --cflags ${FFTW_FLAVOUR})
+
+ # otherwise we get Error: Rank mismatch between actual argument
+ # at (1) and actual argument at (2) (rank-1 and scalar)
+ append-fflags -fallow-argument-mismatch
local MX_LIB="$($(tc-getPKG_CONFIG) --static --libs lapack)"
MX_LIB="${MX_LIB} $($(tc-getPKG_CONFIG) --static --libs ${FFTW_FLAVOUR})"
- if use mpi; then
- MX_LIB="${MX_LIB} $(mpif90 -showme:link)"
- fi
+ MX_LIB="${MX_LIB} $(mpif90 -showme:link)"
sed \
-e "s%^CC *=.*$%CC = ${CC} ${CFLAGS}%" \
-e "s%^FC *=.*$%FC = ${FC} ${FCFLAGS}%" \
-e "s%^LIB *=.*$%LIB = ${MX_LIB} ${FC_LIB}%" \
- -i source/makefile || die
+ -i makefile || die
}
src_compile() {
- emake -C source
+ # does not properly parallelize
+ # file 1 says can't find file 2
+ # and at the same time file 2 can't find file 3
+ emake -j1
}
src_test() {
- cd work
+ cd ../work
../source/openmx -runtest || die
}
src_install() {
insinto /usr/share/${P}
- doins -r DFT_DATA13
- cd work
+ doins -r DFT_DATA19
+ cd ../work
insinto /usr/share/${P}/examples
doins -r *
cd ../source
- dodir /usr/bin
emake DESTDIR="${D}/usr/bin" install
dodoc "${S}/${PN}${PV%.?}.pdf"
use test && dodoc "${S}"/work/runtest.result