aboutsummaryrefslogtreecommitdiff
blob: 2a3c9430bb0212b887bbd30fbbc9b352ea56cd5c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

EAPI=5

inherit bash-completion-r1 cmake-utils multilib

IUSE="doc examples extras +gromacs"
PDEPEND="extras? ( =sci-chemistry/${PN}apps-${PV} )"
if [ "${PV}" != "9999" ]; then
	SRC_URI="http://votca.googlecode.com/files/${PF}.tar.gz
		doc? ( http://votca.googlecode.com/files/${PN}-manual-${PV}.pdf )
		examples? (	http://votca.googlecode.com/files/${PN}-tutorials-${PV}.tar.gz )"
	RESTRICT="primaryuri"
else
	SRC_URI=""
	inherit mercurial
	EHG_REPO_URI="https://code.google.com/p/votca.csg/"
fi

DESCRIPTION="Votca coarse-graining engine"
HOMEPAGE="http://www.votca.org"

LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-macos"

RDEPEND="=sci-libs/votca-tools-${PV}
	gromacs? ( sci-chemistry/gromacs:= )
	dev-lang/perl
	app-shells/bash"

DEPEND="${RDEPEND}
	doc? (
		|| ( <app-doc/doxygen-1.7.6.1[-nodot] >=app-doc/doxygen-1.7.6.1[dot] )
		dev-texlive/texlive-latexextra
		virtual/latex-base
		dev-tex/pgf
	)
	>=app-text/txt2tags-2.5
	virtual/pkgconfig"

DOCS=( README NOTICE )

src_unpack() {
	if [[ ${PV} != *9999 ]]; then
		default
	else
		mercurial_src_unpack
		use doc && mercurial_fetch \
			https://code.google.com/p/votca.csg-manual/ \
			votca.csg-manual \
			"${WORKDIR}/manual"
		use examples && mercurial_fetch \
			https://code.google.com/p/votca.csg-tutorials/ \
			votca.csg-tutorials \
			"${WORKDIR}/${PN}-tutorials"
	fi
}

src_configure() {
	local GMX_DEV="OFF" GMX_DOUBLE="OFF" extra

	if use gromacs; then
		has_version =sci-chemistry/gromacs-9999 && GMX_DEV="ON"
		has_version sci-chemistry/gromacs[double-precision] && GMX_DOUBLE="ON"
	fi

	#to create man pages, build tree binaries are executed (bug #398437)
	[[ ${CHOST} = *-darwin* ]] && \
		extra+=" -DCMAKE_BUILD_WITH_INSTALL_RPATH=OFF"

	mycmakeargs=(
		$(cmake-utils_use_with gromacs GMX)
		-DWITH_GMX_DEVEL="${GMX_DEV}"
		-DGMX_DOUBLE="${GMX_DOUBLE}"
		-DCMAKE_INSTALL_RPATH="\\\$ORIGIN/../$(get_libdir)"
		${extra}
		-DWITH_RC_FILES=OFF
		-DLIB=$(get_libdir)
	)
	cmake-utils_src_configure
}

src_install() {
	newbashcomp scripts/csg-completion.bash ${PN}
	cmake-utils_src_install
	if use doc; then
		if [[ ${PV} = *9999* ]]; then
			pushd "${WORKDIR}"/manual
			emake PATH="${PATH}:${ED}/usr/bin"
			newdoc manual.pdf "${PN}-manual-${PV}.pdf"
			popd > /dev/null
		else
			dodoc "${DISTDIR}/${PN}-manual-${PV}.pdf"
		fi
		cd "${CMAKE_BUILD_DIR}" || die
		emake html
		dohtml -r share/doc/html/*
	fi
	if use examples; then
		insinto "/usr/share/doc/${PF}/tutorials"
		docompress -x "/usr/share/doc/${PF}/tutorials"
		doins -r "${WORKDIR}/${PN}"-tutorials*/*
	fi
}

pkg_postinst() {
	einfo
	einfo "Please read and cite:"
	einfo "VOTCA, J. Chem. Theory Comput. 5, 3211 (2009). "
	einfo "http://dx.doi.org/10.1021/ct900369w"
	einfo
}