]> Pileus Git - ~andy/sunrise/blob - sci-libs/openfoam-utilities/openfoam-utilities-1.5_p20090311.ebuild
025b6ea7c69aa2a5ae8479cb27c972110a1b98f5
[~andy/sunrise] / sci-libs / openfoam-utilities / openfoam-utilities-1.5_p20090311.ebuild
1 # Copyright 1999-2009 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
3 # $Header:  $
4
5 EAPI=2
6
7 inherit eutils versionator multilib toolchain-funcs
8
9 MY_PN="OpenFOAM"
10 MY_PV=$(get_version_component_range 1-2)
11 MY_P="${MY_PN}-${MY_PV}"
12
13 DESCRIPTION="OpenFOAM - utilities"
14 HOMEPAGE="http://www.opencfd.co.uk/openfoam/"
15 SRC_URI="mirror://sourceforge/foam/${MY_P}.General.gtgz -> ${MY_P}.General.tgz
16         http://omploader.org/vMWRlMQ/${MY_PN}-git-${PVR}.patch
17         http://omploader.org/vMWRlMA/${MY_P}-svn.patch"
18
19 LICENSE="GPL-2"
20 SLOT="1.5"
21 KEYWORDS="~amd64 ~x86"
22 IUSE=""
23
24 RDEPEND="!=sci-libs/openfoam-${MY_PV}*
25         !=sci-libs/openfoam-bin-${MY_PV}*
26         =sci-libs/openfoam-solvers-${MY_PV}*"
27 DEPEND="${RDEPEND}
28         >=sys-devel/gcc-4.1"
29
30 S=${WORKDIR}/${MY_P}
31 INSDIR="/usr/$(get_libdir)/${MY_PN}/${MY_P}"
32
33 pkg_setup() {
34         # just to be sure the right profile is selected (gcc-config)
35         if ! version_is_at_least 4.1 $(gcc-version) ; then
36                 die "${PN} requires >=sys-devel/gcc-4.1 to compile."
37         fi
38 }
39
40 src_prepare() {
41         epatch "${FILESDIR}"/${MY_P}-compile.patch
42         epatch "${DISTDIR}"/${MY_P}-svn.patch
43         epatch "${DISTDIR}"/${MY_PN}-git-${PVR}.patch
44         epatch "${FILESDIR}"/${MY_P}-ggi.patch
45
46         chmod +x applications/utilities/postProcessing/graphics/ensightFoamReader/Allwmake
47 }
48
49 src_compile() {
50         cp -a ${INSDIR}/etc/{bashrc,settings.sh} "${S}"/etc/. || die "cannot copy bashrc"
51
52         # This is a hack, due to the meta ebuild:
53         sed -i -e "s|FOAM_LIB=\$WM_PROJECT_DIR/lib|FOAM_LIB=${INSDIR}/lib|"     \
54                 -e "s|FOAM_LIBBIN=\$FOAM_LIB|FOAM_LIBBIN=\$WM_PROJECT_DIR/lib|" \
55                 -e "s|_foamAddLib \$FOAM_USER_LIBBIN|_foamAddLib \$FOAM_LIB|"   \
56                 etc/settings.sh || die "could not replace paths"
57
58         sed -i -e "s|-L\$(LIB_WM_OPTIONS_DIR)|-L\$(LIB_WM_OPTIONS_DIR) -L${INSDIR}/lib|" \
59                 wmake/Makefile || die "could not replace search paths"
60
61         sed -i -e "s|(FOAM_LIBBIN)|(FOAM_LIB)|" applications/utilities/postProcessing/velocityField/{flowType,Pe,uprime,vorticity,enstrophy,Q,Co,Lambda2,Mach}/Make/options     || die "cannot change LIB dir"
62         sed -i -e "s|(FOAM_LIBBIN)|(FOAM_LIB)|" applications/utilities/postProcessing/miscellaneous/execFlowFunctionObjects/Make/options        || die "cannot change LIB dir"
63
64         export FOAM_INST_DIR="${WORKDIR}"
65         source etc/bashrc
66
67         cd applications/utilities
68         wmake all || die "could not build OpenFOAM utilities"
69 }
70
71 src_install() {
72         insopts -m0755
73         insinto ${INSDIR}/applications/bin
74         doins -r applications/bin/*
75
76         insinto ${INSDIR}/lib
77         doins -r lib/*
78 }