diff options
Diffstat (limited to 'sci-chemistry/gromacs/gromacs-4.6.9999.ebuild')
-rw-r--r-- | sci-chemistry/gromacs/gromacs-4.6.9999.ebuild | 46 |
1 files changed, 30 insertions, 16 deletions
diff --git a/sci-chemistry/gromacs/gromacs-4.6.9999.ebuild b/sci-chemistry/gromacs/gromacs-4.6.9999.ebuild index 60d3f8588..9f124103b 100644 --- a/sci-chemistry/gromacs/gromacs-4.6.9999.ebuild +++ b/sci-chemistry/gromacs/gromacs-4.6.9999.ebuild @@ -11,8 +11,6 @@ CMAKE_MAKEFILE_GENERATOR="ninja" inherit bash-completion-r1 cmake-utils eutils multilib toolchain-funcs -SRC_URI="test? ( http://${PN}.googlecode.com/files/regressiontests-${TEST_PV}.tar.gz )" - if [[ $PV = *9999* ]]; then EGIT_REPO_URI="git://git.gromacs.org/gromacs.git https://gerrit.gromacs.org/gromacs.git @@ -22,9 +20,9 @@ if [[ $PV = *9999* ]]; then inherit git-2 PDEPEND="doc? ( ~app-doc/${PN}-manual-${PV} )" else - S="${WORKDIR}/${P//_/-}" - SRC_URI="${SRC_URI} ftp://ftp.gromacs.org/pub/${PN}/${P//_/-}.tar.gz - doc? ( ftp://ftp.gromacs.org/pub/manual/${PN}-manual-${MANUAL_PV}.pdf )" + SRC_URI="ftp://ftp.gromacs.org/pub/${PN}/${P}.tar.gz + doc? ( ftp://ftp.gromacs.org/pub/manual/manual-${MANUAL_PV}.pdf -> ${PN}-manual-${MANUAL_PV}.pdf ) + test? ( http://${PN}.googlecode.com/files/regressiontests-${TEST_PV}.tar.gz )" fi ACCE_IUSE="sse2 sse41 avx128fma avx256" @@ -65,7 +63,8 @@ REQUIRED_USE=" || ( single-precision double-precision ) cuda? ( single-precision ) openmm? ( single-precision ) - mkl? ( !blas !fftw !lapack )" + mkl? ( !blas !fftw !lapack ) + !openmm" #broken, but https://gerrit.gromacs.org/#/c/2087/ pkg_pretend() { [[ $(gcc-version) == "4.1" ]] && die "gcc 4.1 is not supported by gromacs" @@ -73,6 +72,20 @@ pkg_pretend() { die "Please switch to an openmp compatible compiler" } +src_unpack() { + if [[ ${PV} != *9999 ]]; then + default + else + git-2_src_unpack + if use test; then + EGIT_REPO_URI="git://git.gromacs.org/regressiontests.git" \ + EGIT_BRANCH="master" EGIT_NOUNPACK="yes" EGIT_COMMIT="master" \ + EGIT_SOURCEDIR="${WORKDIR}/regressiontests"\ + git-2_src_unpack + fi + fi +} + src_prepare() { #notes/todos # -on apple: there is framework support @@ -84,10 +97,12 @@ src_prepare() { use single-precision && GMX_DIRS+=" float" use double-precision && GMX_DIRS+=" double" - for x in ${GMX_DIRS}; do - mkdir -p "${WORKDIR}/${P}_${x}" || die - use test && cp -r "${WORKDIR}"/regressiontests-master "${WORKDIR}/${P}_${x}" - done + if use test; then + for x in ${GMX_DIRS}; do + mkdir -p "${WORKDIR}/${P}_${x}" || die + cp -al "${WORKDIR}/regressiontests"* "${WORKDIR}/${P}_${x}/tests" || die + done + fi if use openmm; then sed -i '/option.*GMX_OPENMM/s/^#//' src/contrib/CMakeLists.txt || die @@ -133,12 +148,13 @@ src_configure() { $(cmake-utils_use lapack GMX_EXTERNAL_LAPACK) $(cmake-utils_use openmp GMX_OPENMP) $(cmake-utils_use offensive GMX_COOL_QUOTES) - $(cmake-utils_use test BUILD_TESTING) -DGMX_DEFAULT_SUFFIX=off -DGMX_ACCELERATION="$acce" -DGMXLIB="$(get_libdir)" -DGMX_VMD_PLUGIN_PATH="${EPREFIX}/usr/$(get_libdir)/vmd/plugins/*/molfile/" -DGMX_PREFIX_LIBMD=ON + -DGMX_X86_AVX_GCC_MASKLOAD_BUG=OFF + -DGMX_USE_GCC44_BUG_WORKAROUND=OFF ${extra} ) @@ -154,6 +170,7 @@ src_configure() { [[ ${x} = "double" ]] && use cuda && cuda="-DGMX_GPU=OFF" mycmakeargs=( ${mycmakeargs_pre[@]} ${p} -DGMX_MPI=OFF $(cmake-utils_use threads GMX_THREAD_MPI) ${cuda} -DGMX_OPENMM=OFF + "$(use test && echo -DREGRESSIONTEST_PATH="${WORKDIR}/${P}_${x}/tests")" -DGMX_BINARY_SUFFIX="${suffix}" -DGMX_LIBS_SUFFIX="${suffix}" ) BUILD_DIR="${WORKDIR}/${P}_${x}" cmake-utils_src_configure if [[ ${x} = float ]] && use openmm; then @@ -192,11 +209,8 @@ src_compile() { src_test() { for x in ${GMX_DIRS}; do - local oldpath="${PATH}" - export PATH="${WORKDIR}/${P}_${x}/src/kernel:${S}-{x}/src/tools:${PATH}" - cd "${WORKDIR}/${P}_${x}" - emake -j1 tests || die "${x} Precision test failed" - export PATH="${oldpath}" + BUILD_DIR="${WORKDIR}/${P}_${x}"\ + cmake-utils_src_make check done } |