1 # Copyright 1999-2009 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
5 inherit eutils versionator multilib toolchain-funcs
8 MY_PV=$(get_version_component_range 1-2)
9 MY_P="${MY_PN}-${MY_PV}"
11 DESCRIPTION="Open Field Operation and Manipulation - CFD Simulation Toolbox"
12 HOMEPAGE="http://www.opencfd.co.uk/openfoam/"
13 SRC_URI="mirror://sourceforge/foam/${MY_P}.General.gtgz
14 x86? ( mirror://sourceforge/foam/${MY_P}.linuxGccDPOpt.gtgz )
15 amd64? ( mirror://sourceforge/foam/${MY_P}.linux64GccDPOpt.gtgz )"
19 KEYWORDS="-* ~amd64 ~x86"
22 DEPEND="!=sci-libs/openfoam-${MY_PV}*
23 !=sci-libs/openfoam-kernel-${MY_PV}*
24 !=sci-libs/openfoam-meta-${MY_PV}*
25 !=sci-libs/openfoam-solvers-${MY_PV}*
26 !=sci-libs/openfoam-utilities-${MY_PV}*
27 !=sci-libs/openfoam-wmake-${MY_PV}*
28 || ( >sci-visualization/paraview-3.0 sci-visualization/opendx )
35 if ! version_is_at_least 4.2 $(gcc-version) ; then
36 die "${PN} requires >=sys-devel/gcc-4.2 to compile."
40 elog "In order to use ${MY_PN} you should add the following line to ~/.bashrc :"
41 elog "source /usr/$(get_libdir)/${MY_PN}/bashrc"
43 ewarn "FoamX is deprecated since ${MY_PN}-1.5! "
46 use x86 && WM_OPTIONS="linuxGccDPOpt"
47 use amd64 && WM_OPTIONS="linux64GccDPOpt"
51 ln -s "${DISTDIR}"/${MY_P}.General.gtgz ${MY_P}.General.tgz
52 unpack ./${MY_P}.General.tgz
54 use x86 && ln -s "${DISTDIR}"/${MY_P}.linuxGccDPOpt.gtgz ${MY_P}.binary.tgz
55 use amd64 && ln -s "${DISTDIR}"/${MY_P}.linux64GccDPOpt.gtgz ${MY_P}.binary.tgz
56 unpack ./${MY_P}.binary.tgz
59 epatch "${FILESDIR}"/${MY_P}-compile.patch
63 if has_version sys-cluster/lam-mpi ; then
65 export MPI_VERSION=lam
66 elif has_version sys-cluster/mpich2 ; then
68 export MPI_VERSION=mpich
69 elif has_version sys-cluster/openmpi ; then
70 export WM_MPLIB=OPENMPI
71 export MPI_VERSION=openmpi
73 die "You need one of the following mpi implementations: openmpi, lam-mpi or mpich2"
76 sed -i -e "s|WM_MPLIB:=OPENMPI|WM_MPLIB:="${WM_MPLIB}"|" etc/bashrc
77 sed -i -e "s|setenv WM_MPLIB OPENMPI|setenv WM_MPLIB "${WM_MPLIB}"|" etc/cshrc
79 mv lib/${WM_OPTIONS}/$MPI_VERSION* lib/${WM_OPTIONS}/$MPI_VERSION
84 ./foamInstallationTest
88 insinto /usr/$(get_libdir)/${MY_PN}/${MY_P}
91 rm -rf tutorials/rhoPorousSimpleFoam/angledDuctExplicit/{0,constant}
92 cp -a tutorials/rhoPorousSimpleFoam/angledDuctImplicit/{0,constant} tutorials/rhoPorousSimpleFoam/angledDuctExplicit
93 use examples && doins -r tutorials
98 insinto /usr/$(get_libdir)/${MY_PN}/${MY_P}/applications/bin
99 doins -r applications/bin/${WM_OPTIONS}/*
101 insinto /usr/$(get_libdir)/${MY_PN}/${MY_P}/lib
102 doins -r lib/${WM_OPTIONS}/*
104 insinto /usr/$(get_libdir)/${MY_PN}/${MY_P}/wmake
108 insinto /usr/share/doc/${PF}
109 doins doc/Guides-a4/*.pdf
113 dohtml -r doc/Doxygen
116 dosym /usr/$(get_libdir)/${MY_PN}/${MY_P}/etc/bashrc /usr/$(get_libdir)/${MY_PN}/bashrc
117 dosym /usr/$(get_libdir)/${MY_PN}/${MY_P}/etc/cshrc /usr/$(get_libdir)/${MY_PN}/cshrc