aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sci-chemistry/nwchem/nwchem-6.6_p27746-r2.ebuild')
-rw-r--r--sci-chemistry/nwchem/nwchem-6.6_p27746-r2.ebuild278
1 files changed, 0 insertions, 278 deletions
diff --git a/sci-chemistry/nwchem/nwchem-6.6_p27746-r2.ebuild b/sci-chemistry/nwchem/nwchem-6.6_p27746-r2.ebuild
deleted file mode 100644
index fc2f110e9..000000000
--- a/sci-chemistry/nwchem/nwchem-6.6_p27746-r2.ebuild
+++ /dev/null
@@ -1,278 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-PYTHON_COMPAT=( python2_7 )
-
-inherit eutils flag-o-matic fortran-2 multilib python-single-r1 toolchain-funcs
-
-DATE="2015-10-20"
-
-DESCRIPTION="Delivering High-Performance Computational Chemistry to Science"
-HOMEPAGE="http://www.nwchem-sw.org/index.php/Main_Page"
-PATCH_REPO="http://www.nwchem-sw.org/images"
-PATCH_LIST="Tddft_mxvec20 Tools_lib64 Config_libs66 Cosmo_meminit Sym_abelian
-Xccvs98 Dplot_tolrho Driver_smalleig Ga_argv Raman_displ Ga_defs Zgesvd Cosmo_dftprint"
-SRC_URI="http://www.nwchem-sw.org/images/Nwchem-${PV%_p*}.revision${PV#*_p}-src.${DATE}.tar.bz2
- $(for p in ${PATCH_LIST[@]}; do echo ${PATCH_REPO}/${p}.patch.gz; done)"
-
-LICENSE="ECL-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="blas cuda doc examples infiniband int64 lapack mrcc nwchem-tests openmp python scalapack"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )
- scalapack? ( !int64 )
- lapack? ( blas )
- scalapack? ( blas )"
-
-RDEPEND="
- sys-fs/sysfsutils
- blas? ( virtual/blas )
- lapack? ( virtual/lapack )
- scalapack? ( virtual/scalapack )
- cuda? ( dev-util/nvidia-cuda-sdk )
- int64? (
- blas? ( virtual/blas[int64] )
- lapack? ( virtual/lapack[int64] )
- )
- python? ( ${PYTHON_DEPS} )"
-DEPEND="${RDEPEND}
- virtual/pkgconfig
- app-shells/tcsh
- virtual/mpi[fortran]
- infiniband? ( || (
- sys-cluster/openmpi[fortran,openmpi_fabrics_ofed]
- sys-cluster/mvapich2[fortran]
- ) )
- doc? (
- dev-texlive/texlive-latex
- dev-tex/latex2html )"
-
-LONG_S="${WORKDIR}/Nwchem-${PV%_p*}.revision${PV#*_p}-src.${DATE}"
-S="${WORKDIR}/${PN}-${PV%_p*}"
-
-pkg_setup() {
- # fortran-2.eclass does not handle mpi wrappers
- export FC="mpif90"
- export F77="mpif77"
- export CC="mpicc"
- export CXX="mpic++"
-
- use openmp && FORTRAN_NEED_OPENMP=1
-
- fortran-2_pkg_setup
-
- if use openmp; then
- # based on _fortran-has-openmp() of fortran-2.eclass
- local openmp=""
- local fcode=ebuild-openmp-flags.f
- local _fc=$(tc-getFC)
-
- pushd "${T}"
- cat <<- EOF > "${fcode}"
- 1 call omp_get_num_threads
- 2 end
- EOF
-
- for openmp in -fopenmp -xopenmp -openmp -mp -omp -qsmp=omp; do
- "${_fc}" "${openmp}" "${fcode}" -o "${fcode}.x" && break
- done
-
- rm -f "${fcode}.*"
- popd
-
- export FC="${FC} ${openmp}"
- export F77="${F77} ${openmp}"
- export CC="${CC} ${openmp}"
- export CXX="${CXX} ${openmp}"
- fi
-
- use python && python-single-r1_pkg_setup
-}
-
-src_unpack() {
- unpack ${A}
- mv "${LONG_S}" "${S}"
-}
-
-src_prepare() {
- for p in ${PATCH_LIST[@]}
- do epatch "${WORKDIR}"/"${p}.patch"
- done
- epatch "${FILESDIR}"/nwchem-6.1.1-nwchemrc.patch
- epatch "${FILESDIR}"/nwchem-6.5-icosahedron_zcoord.patch
- epatch "${FILESDIR}"/nwchem-6.6-unique_tags.patch
- use python && epatch "${FILESDIR}"/nwchem-6.5-python_makefile.patch
- use doc && epatch "${FILESDIR}"/nwchem-6.3-r1-html_doc.patch
-
- sed \
- -e "s:DBASIS_LIBRARY=\"'\$(SRCDIR)'\":DBASIS_LIBRARY=\"'${EPREFIX}/usr/share/NWChem'\":g" \
- -i src/basis/MakeFile src/basis/GNUmakefile || die
- sed \
- -e "s:DNWPW_LIBRARY=\"'\$(SRCDIR)'\":DNWPW_LIBRARY=\"'${EPREFIX}/usr/share/NWChem'\":g" \
- -i src/nwpw/libraryps/GNUmakefile || die
- sed \
- -e "s:-DCOMPILATION_DIR=\"'\$(TOPDIR)'\":-DCOMPILATION_DIR=\"''\":g" \
- -i src/GNUmakefile src/MakeFile || die
-
- if [[ $(tc-getFC) == *-*-*-*-gfortran ]]; then
- sed \
- -e "s:ifneq (\$(FC),gfortran):ifneq (\$(FC),$(tc-getFC)):g" \
- -e "s:ifeq (\$(FC),gfortran):ifeq (\$(FC),$(tc-getFC)):g" \
- -i src/config/makefile.h || die
- fi
-}
-
-src_compile() {
- export NWCHEM_LONG_PATHS=Y
- use openmp && export USE_OPENMP=1
- export USE_MPI=y
- export USE_MPIF=y
- export USE_MPIF4=y
- export MPI_LOC="${EPREFIX}"/usr
- export MPI_INCLUDE=$MPI_LOC/include
- export MPI_LIB=$MPI_LOC/$(get_libdir)
- export LIBMPI="$(mpif90 -showme:link)"
- if use infiniband; then
- export ARMCI_NETWORK=OPENIB
- export MSG_COMMS=MPI
- export IB_INCLUDE="-I${MPI_INCLUDE}"
- export IB_LIB="-L${MPI_LIB}"
- else
- unset ARMCI_NETWORK
- fi
- if [ "$ARCH" = "amd64" ]; then
- export NWCHEM_TARGET=LINUX64
- elif [ "$ARCH" = "ia64" ]; then
- export NWCHEM_TARGET=LINUX64
- elif [ "$ARCH" = "x86" ]; then
- export NWCHEM_TARGET=LINUX
- elif [ "$ARCH" = "ppc" ]; then
- export NWCHEM_TARGET=LINUX
- else
- die "Unknown architecture"
- fi
- if use python ; then
- if [ "$ARCH" = "amd64" ] || [ "$ARCH" = "ia64" ]; then
- export USE_PYTHON64=yes
- fi
- export PYTHONHOME=/usr
- export PYTHONVERSION=$(eselect python show --python2 |awk -Fpython '{ print $2 }')
- export PYTHONPATH="./:${S}/contrib/python/"
- export NWCHEM_MODULES="all python"
- else
- export NWCHEM_MODULES="all"
- fi
- use mrcc && export MRCC_METHODS="TRUE" # Multi Reference Coupled Clusters
- export CCSDTQ="TRUE" # Coupled Clusters Singlets + Dublets + Triplets + Quadruplets
- export CCSDTLR="TRUE" # CCSDT (and CCSDTQ?) Linear Response
- export EACCSD="TRUE" # Electron Affinities at the CCSD level
- export IPCCSD="TRUE" # Ionisation Potentials at the CCSD level
- unset BLASOPT
- local blaspkg="blas"
- local lapackpkg="lapack"
- if use int64; then
- blaspkg="blas-int64"
- lapackpkg="lapack-int64"
- fi
- use blas && export BLASOPT="$($(tc-getPKG_CONFIG) --libs ${blaspkg})"
- use lapack && export BLASOPT+=" $($(tc-getPKG_CONFIG) --libs ${lapackpkg})"
- use scalapack && export BLASOPT+=" $($(tc-getPKG_CONFIG) --libs scalapack)"
- if use cuda; then
- export TCE_CUDA=Y
- export CUDA_PATH=/opt/cuda
- export CUDA=${CUDA_PATH}/bin/nvcc
- export CUDA_FLAGS="-arch=compute_20 -code=sm_20,compute_20"
- export CUDA_INCLUDE="-I${CUDA_PATH}/include"
- export CUDA_LIBS="-L${CUDA_PATH}/$(get_libdir) -lcublas -lcufft -lcudart -lcuda -lstdc++"
- fi
- export LARGE_FILES="TRUE"
-
- cd src
- if use blas && [ "$NWCHEM_TARGET" = "LINUX64" ]; then
- if use int64; then
- export BLAS_SIZE=8
- export LAPACK_SIZE=8
- export SCALAPACK_SIZE=8
- else
- emake \
- DIAG=PAR \
- FC="$(tc-getFC)" \
- CC="$(tc-getCC)" \
- CXX="$(tc-getCXX)" \
- NWCHEM_TOP="${S}" \
- clean
- emake \
- DIAG=PAR \
- FC="$(tc-getFC)" \
- CC="$(tc-getCC)" \
- CXX="$(tc-getCXX)" \
- NWCHEM_TOP="${S}" \
- 64_to_32
- export BLAS_SIZE=4
- export LAPACK_SIZE=4
- export SCALAPACK_SIZE=4
- export USE_64TO32=y
- fi
- fi
- emake \
- DIAG=PAR \
- FC="$(tc-getFC)" \
- CC="$(tc-getCC)" \
- CXX="$(tc-getCXX)" \
- NWCHEM_TOP="${S}" \
- NWCHEM_EXECUTABLE="${S}/bin/${NWCHEM_TARGET}/nwchem" \
- nwchem_config
- emake \
- DIAG=PAR \
- FC="$(tc-getFC)" \
- CC="$(tc-getCC)" \
- CXX="$(tc-getCXX)" \
- NWCHEM_TOP="${S}" \
- NWCHEM_EXECUTABLE="${S}/bin/${NWCHEM_TARGET}/nwchem"
-
- if use doc; then
- cd "${S}"/doc
- export VARTEXFONTS="${T}/fonts"
- emake \
- DIAG=PAR \
- NWCHEM_TOP="${S}" \
- pdf html
- fi
-}
-
-src_install() {
- dobin bin/${NWCHEM_TARGET}/nwchem
-
- insinto /usr/share/NWChem/basis/
- doins -r src/basis/libraries src/data
- insinto /usr/share/NWChem/nwpw
- doins -r src/nwpw/libraryps
-
- insinto /etc
- doins nwchemrc
-
- use examples && \
- insinto /usr/share/NWChem/ && \
- doins -r examples
-
- use nwchem-tests && \
- insinto /usr/share/NWChem && \
- doins -r QA/tests
-
- use doc && \
- insinto /usr/share/doc/"${P}" && \
- doins -r doc/nwahtml && \
- doins -r web
-
-}
-
-pkg_postinst() {
- echo
- elog "The user will need to link \$HOME/.nwchemrc to /etc/nwchemrc"
- elog "or copy it in order to tell NWChem the right position of the"
- elog "basis library and other necessary data."
- echo
-}