blob: f78b305bf64ac38cc3e3312e2f3282e424f3c353 (
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
|
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit autotools fortran-2 flag-o-matic toolchain-funcs
DESCRIPTION="Autotooled, updated version of a powerful, fast semi-empirical package"
HOMEPAGE="https://sourceforge.net/projects/mopac7/"
SRC_URI="
http://www.bioinformatics.org/ghemical/download/current/${P}.tar.gz
http://wwwuser.gwdg.de/~ggroenh/qmmm/mopac/dcart.f
http://wwwuser.gwdg.de/~ggroenh/qmmm/mopac/gmxmop.f"
LICENSE="public-domain"
SLOT="0"
KEYWORDS="amd64 ~ppc x86 ~amd64-linux"
IUSE="gmxmopac7"
DEPEND="dev-libs/libf2c"
RDEPEND="${DEPEND}"
src_prepare() {
default
# Install the executable
sed -i \
-e "s:noinst_PROGRAMS = mopac7:bin_PROGRAMS = mopac7:g" \
fortran/Makefile.am \
|| die "sed failed: install mopac7"
# Install the script to run the executable
sed -i \
-e "s:EXTRA_DIST = autogen.sh run_mopac7:bin_SCRIPTS = run_mopac7:g" \
Makefile.am \
|| die "sed failed: install run_mopac7"
eautoreconf
append-fflags -std=legacy -fno-automatic
}
src_configure() {
econf --disable-static
}
src_compile() {
emake
if use gmxmopac7; then
einfo "Making mopac7 lib for gromacs"
mkdir "${S}"/fortran/libgmxmopac7 || die
cd "${S}"/fortran/libgmxmopac7 || die
cp -n ../SIZES ../*.f "${FILESDIR}"/Makefile . || die
emake clean
cp -n "${DISTDIR}"/gmxmop.f "${DISTDIR}"/dcart.f . || die
sed "s:GENTOOVERSION:${PV}:g" -i Makefile || die
emake FC="$(tc-getFC)"
fi
}
src_install() {
# A correct fix would have a run_mopac7.in with @bindir@ that gets
# replaced by configure, and run_mopac7 added to AC_OUTPUT in configure.ac
sed -i "s:./fortran/mopac7:mopac7:g" run_mopac7 || die
default
if use gmxmopac7; then
cd "${S}"/fortran/libgmxmopac7 || die
dolib.so libgmxmopac7.so*
fi
find "${ED}" -name '*.la' -delete || die
}
|