From 5f3bbdd655e095639112920670142a829ec65683 Mon Sep 17 00:00:00 2001 From: Andrew Ammerlaan Date: Fri, 15 Jan 2021 21:04:29 +0100 Subject: sci-physics/openmx: fix fetch, version bump no keywords yet because compilation fails at the end with some undefined references Package-Manager: Portage-3.0.13, Repoman-3.0.2 Signed-off-by: Andrew Ammerlaan --- sci-physics/openmx/Manifest | 5 +- sci-physics/openmx/files/3.7-fortran_objects.patch | 15 -- sci-physics/openmx/openmx-3.6.ebuild | 96 ------------ sci-physics/openmx/openmx-3.7.8.ebuild | 170 --------------------- sci-physics/openmx/openmx-3.9.ebuild | 151 ++++++++++++++++++ 5 files changed, 152 insertions(+), 285 deletions(-) delete mode 100644 sci-physics/openmx/files/3.7-fortran_objects.patch delete mode 100644 sci-physics/openmx/openmx-3.6.ebuild delete mode 100644 sci-physics/openmx/openmx-3.7.8.ebuild create mode 100644 sci-physics/openmx/openmx-3.9.ebuild 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.7.8.ebuild deleted file mode 100644 index 3a9758c85..000000000 --- a/sci-physics/openmx/openmx-3.7.8.ebuild +++ /dev/null @@ -1,170 +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 fortran-2 - -PATCHDATE="14Feb17" - -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" - -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%.[0-9]}" - -MAKEOPTS+=" -j1" - -FORTRAN_STANDARD=90 - -pkg_setup() { - # Link in the GNU Fortran library for Fortran code. - # Other compilers may need other hacks. - FC_LIB="" - if [[ $(tc-getCC)$ == *gcc* ]]; then - FC_LIB="-lgfortran" - fi - export FC_LIB - - if use mpi; then - export CC="mpicc" - export FC="mpif90" - else - tc-export CC - tc-export FC - fi - - if use openmp; then FORTRAN_NEED_OPENMP=1; fi - - fortran-2_pkg_setup - - if use openmp; then - # based on _fortran-has-openmp() of fortran-2.eclass - local code=ebuild-openmp-flags - local ret - local openmp - - pushd "${T}" - cat <<- EOF > "${code}.c" - # include - main () { - int nthreads; - nthreads=omp_get_num_threads(); - } - EOF - - for openmp in -fopenmp -xopenmp -openmp -mp -omp -qsmp=omp; do - ${CC} ${openmp} "${code}.c" -o "${code}.o" &>> "${T}"/_c_compile_test.log - ret=$? - (( ${ret} )) || break - done - - rm -f "${code}.*" - popd - - if (( ${ret} )); then - die "Please switch to an openmp compatible C compiler" - else - export CC="${CC} ${openmp}" - fi - - pushd "${T}" - cat <<- EOF > "${code}.f" - 1 call omp_get_num_threads - 2 end - EOF - - for openmp in -fopenmp -xopenmp -openmp -mp -omp -qsmp=omp; do - ${FC} ${openmp} "${code}.f" -o "${code}.o" &>> "${T}"/_f_compile_test.log - ret=$? - (( ${ret} )) || break - done - - rm -f "${code}.*" - popd - - if (( ${ret} )); then - die "Please switch to an openmp compatible fortran compiler" - else - export FC="${FC} ${openmp}" - fi - fi - -} - -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" - fi - CFLAGS="${CFLAGS} $($(tc-getPKG_CONFIG) --cflags lapack)" - CFLAGS="${CFLAGS} $($(tc-getPKG_CONFIG) --cflags ${FFTW_FLAVOUR})" - export CFLAGS - - FCFLAGS="${FCFLAGS} -I/usr/include" - FCFLAGS="${FCFLAGS} $($(tc-getPKG_CONFIG) --cflags lapack)" - FCFLAGS="${FCFLAGS} $($(tc-getPKG_CONFIG) --cflags ${FFTW_FLAVOUR})" - export FCFLAGS - - 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 - - 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 -} - -src_compile() { - emake -C source -} - -src_test() { - cd work - ../source/openmx -runtest || die -} - -src_install() { - insinto /usr/share/${P} - doins -r DFT_DATA13 - 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.9.ebuild b/sci-physics/openmx/openmx-3.9.ebuild new file mode 100644 index 000000000..dd2aa4975 --- /dev/null +++ b/sci-physics/openmx/openmx-3.9.ebuild @@ -0,0 +1,151 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit multilib toolchain-funcs flag-o-matic fortran-2 + +DESCRIPTION="Material eXplorer" +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="" + +IUSE="debug openmp test" + +RDEPEND=" + virtual/blas + virtual/lapack + virtual/mpi + sci-libs/fftw:3.0[mpi,openmp?]" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" + +S="${WORKDIR}/${PN}${PV}/source" + +FORTRAN_STANDARD=90 + +pkg_setup() { + # Link in the GNU Fortran library for Fortran code. + # Other compilers may need other hacks. + FC_LIB="" + if [[ $(tc-getCC)$ == *gcc* ]]; then + FC_LIB="-lgfortran" + fi + export FC_LIB + + export CC="mpicc" + export FC="mpif90" + + if use openmp; then FORTRAN_NEED_OPENMP=1; fi + + fortran-2_pkg_setup + + if use openmp; then + # based on _fortran-has-openmp() of fortran-2.eclass + local code=ebuild-openmp-flags + local ret + local openmp + + pushd "${T}" + cat <<- EOF > "${code}.c" + # include + main () { + int nthreads; + nthreads=omp_get_num_threads(); + } + EOF + + for openmp in -fopenmp -xopenmp -openmp -mp -omp -qsmp=omp; do + ${CC} ${openmp} "${code}.c" -o "${code}.o" &>> "${T}"/_c_compile_test.log + ret=$? + (( ${ret} )) || break + done + + rm -f "${code}.*" + popd + + if (( ${ret} )); then + die "Please switch to an openmp compatible C compiler" + else + export CC="${CC} ${openmp}" + fi + + pushd "${T}" + cat <<- EOF > "${code}.f" + 1 call omp_get_num_threads + 2 end + EOF + + for openmp in -fopenmp -xopenmp -openmp -mp -omp -qsmp=omp; do + ${FC} ${openmp} "${code}.f" -o "${code}.o" &>> "${T}"/_f_compile_test.log + ret=$? + (( ${ret} )) || break + done + + rm -f "${code}.*" + popd + + if (( ${ret} )); then + die "Please switch to an openmp compatible fortran compiler" + else + export FC="${FC} ${openmp}" + fi + fi + +} + +src_configure() { + local FFTW_FLAVOUR=fftw3 + if use openmp; then + FFTW_FLAVOUR=fftw3_omp + else + append-cflag -Dnoomp + fi + append-cflags $($(tc-getPKG_CONFIG) --cflags lapack) + append-cflags $($(tc-getPKG_CONFIG) --cflags ${FFTW_FLAVOUR}) + + 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})" + 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 makefile || die +} + +src_compile() { + # 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 + ../source/openmx -runtest || die +} + +src_install() { + insinto /usr/share/${P} + doins -r DFT_DATA19 + cd ../work + insinto /usr/share/${P}/examples + doins -r * + cd ../source + emake DESTDIR="${D}/usr/bin" install + dodoc "${S}/${PN}${PV%.?}.pdf" + use test && dodoc "${S}"/work/runtest.result +} -- cgit v1.2.3-65-gdbad