Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 519700 | Differences between
and this patch

Collapse All | Expand All

(-)openmpi-1.8.4-r4.ebuild (-31 / +52 lines)
Lines 6-12 Link Here
6
6
7
FORTRAN_NEEDED=fortran
7
FORTRAN_NEEDED=fortran
8
8
9
inherit autotools cuda eutils flag-o-matic fortran-2 multilib toolchain-funcs versionator
9
inherit autotools cuda eutils flag-o-matic fortran-2 multilib toolchain-funcs versionator multilib-minimal
10
10
11
MY_P=${P/-mpi}
11
MY_P=${P/-mpi}
12
S=${WORKDIR}/${MY_P}
12
S=${WORKDIR}/${MY_P}
Lines 34-40 Link Here
34
SRC_URI="http://www.open-mpi.org/software/ompi/v$(get_version_component_range 1-2)/downloads/${MY_P}.tar.bz2"
34
SRC_URI="http://www.open-mpi.org/software/ompi/v$(get_version_component_range 1-2)/downloads/${MY_P}.tar.bz2"
35
LICENSE="BSD"
35
LICENSE="BSD"
36
SLOT="0"
36
SLOT="0"
37
KEYWORDS="alpha ~amd64 ppc ppc64 sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux"
37
KEYWORDS=""
38
IUSE="cma cuda +cxx elibc_FreeBSD fortran heterogeneous ipv6 mpi-threads numa romio threads vt
38
IUSE="cma cuda +cxx elibc_FreeBSD fortran heterogeneous ipv6 mpi-threads numa romio threads vt
39
	${IUSE_OPENMPI_FABRICS} ${IUSE_OPENMPI_RM} ${IUSE_OPENMPI_OFED_FEATURES}"
39
	${IUSE_OPENMPI_FABRICS} ${IUSE_OPENMPI_RM} ${IUSE_OPENMPI_OFED_FEATURES}"
40
40
Lines 54-79 Link Here
54
		!app-text/lcdf-typetools
54
		!app-text/lcdf-typetools
55
	)"
55
	)"
56
56
57
# dev-util/nvidia-cuda-toolkit is always multilib
57
RDEPEND="
58
RDEPEND="
58
	!sys-cluster/mpich
59
	!sys-cluster/mpich
59
	!sys-cluster/mpich2
60
	!sys-cluster/mpich2
60
	!sys-cluster/mpiexec
61
	!sys-cluster/mpiexec
61
	dev-libs/libevent
62
	>=dev-libs/libevent-2.0.21[${MULTILIB_USEDEP}]
62
	dev-libs/libltdl:0
63
	dev-libs/libltdl:0[${MULTILIB_USEDEP}]
63
	>=sys-apps/hwloc-1.9.1[numa?]
64
	>=sys-apps/hwloc-1.10.0-r2[${MULTILIB_USEDEP},numa?]
64
	sys-libs/zlib
65
	>=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
65
	cuda? ( dev-util/nvidia-cuda-toolkit )
66
	cuda? ( >=dev-util/nvidia-cuda-toolkit-6.5.19-r1 )
66
	elibc_FreeBSD? ( dev-libs/libexecinfo )
67
	elibc_FreeBSD? ( dev-libs/libexecinfo )
67
	openmpi_fabrics_ofed? ( sys-fabric/ofed )
68
	openmpi_fabrics_ofed? ( sys-infiniband/ofed:* )
68
	openmpi_fabrics_knem? ( sys-cluster/knem )
69
	openmpi_fabrics_knem? ( sys-cluster/knem )
69
	openmpi_fabrics_open-mx? ( sys-cluster/open-mx )
70
	openmpi_fabrics_open-mx? ( sys-cluster/open-mx )
70
	openmpi_fabrics_psm? ( sys-fabric/infinipath-psm )
71
	openmpi_fabrics_psm? ( sys-infiniband/infinipath-psm:* )
71
	openmpi_rm_pbs? ( sys-cluster/torque )
72
	openmpi_rm_pbs? ( sys-cluster/torque )
72
	openmpi_rm_slurm? ( sys-cluster/slurm )
73
	openmpi_rm_slurm? ( sys-cluster/slurm )
73
	openmpi_ofed_features_rdmacm? ( sys-fabric/librdmacm )
74
	openmpi_ofed_features_rdmacm? ( sys-infiniband/librdmacm:* )
74
	"
75
	"
75
DEPEND="${RDEPEND}"
76
DEPEND="${RDEPEND}"
76
77
78
MULTILIB_WRAPPED_HEADERS=(
79
	/usr/include/mpi.h
80
)
81
77
pkg_setup() {
82
pkg_setup() {
78
	fortran-2_pkg_setup
83
	fortran-2_pkg_setup
79
84
Lines 106-112 Link Here
106
	AT_M4DIR=config eautoreconf
111
	AT_M4DIR=config eautoreconf
107
}
112
}
108
113
109
src_configure() {
114
multilib_src_configure() {
110
	local myconf=(
115
	local myconf=(
111
		--sysconfdir="${EPREFIX}/etc/${PN}"
116
		--sysconfdir="${EPREFIX}/etc/${PN}"
112
		--enable-pretty-print-stacktrace
117
		--enable-pretty-print-stacktrace
Lines 128-170 Link Here
128
133
129
	! use vt && myconf+=(--enable-contrib-no-build=vt)
134
	! use vt && myconf+=(--enable-contrib-no-build=vt)
130
135
131
	econf "${myconf[@]}" \
136
	ECONF_SOURCE=${S} econf "${myconf[@]}" \
132
		$(use_enable cxx mpi-cxx) \
137
		$(use_enable cxx mpi-cxx) \
133
		$(use_with cma) \
138
		$(use_with cma) \
134
		$(use_with cuda cuda "${EPREFIX}"/opt/cuda) \
139
		$(use_with cuda cuda "${EPREFIX}"/opt/cuda) \
135
		$(use_enable romio io-romio) \
140
		$(use_enable romio io-romio) \
136
		$(use_enable heterogeneous) \
141
		$(use_enable heterogeneous) \
137
		$(use_enable ipv6) \
142
		$(use_enable ipv6) \
138
		$(use_with openmpi_fabrics_ofed verbs "${EPREFIX}"/usr) \
143
		$(multilib_native_use_with openmpi_fabrics_ofed verbs "${EPREFIX}"/usr) \
139
		$(use_with openmpi_fabrics_knem knem "${EPREFIX}"/usr) \
144
		$(multilib_native_use_with openmpi_fabrics_knem knem "${EPREFIX}"/usr) \
140
		$(use_with openmpi_fabrics_open-mx mx "${EPREFIX}"/usr) \
145
		$(multilib_native_use_with openmpi_fabrics_open-mx mx "${EPREFIX}"/usr) \
141
		$(use_with openmpi_fabrics_psm psm "${EPREFIX}"/usr) \
146
		$(multilib_native_use_with openmpi_fabrics_psm psm "${EPREFIX}"/usr) \
142
		$(use_enable openmpi_ofed_features_control-hdr-padding openib-control-hdr-padding) \
147
		$(multilib_native_use_enable openmpi_ofed_features_control-hdr-padding openib-control-hdr-padding) \
143
		$(use_enable openmpi_ofed_features_connectx-xrc openib-connectx-xrc) \
148
		$(multilib_native_use_enable openmpi_ofed_features_connectx-xrc openib-connectx-xrc) \
144
		$(use_enable openmpi_ofed_features_rdmacm openib-rdmacm) \
149
		$(multilib_native_use_enable openmpi_ofed_features_rdmacm openib-rdmacm) \
145
		$(use_enable openmpi_ofed_features_udcm openib-udcm) \
150
		$(multilib_native_use_enable openmpi_ofed_features_udcm openib-udcm) \
146
		$(use_enable openmpi_ofed_features_dynamic-sl openib-dynamic-sl) \
151
		$(multilib_native_use_enable openmpi_ofed_features_dynamic-sl openib-dynamic-sl) \
147
		$(use_enable openmpi_ofed_features_failover btl-openib-failover) \
152
		$(multilib_native_use_enable openmpi_ofed_features_failover btl-openib-failover) \
148
		$(use_with openmpi_rm_pbs tm) \
153
		$(multilib_native_use_with openmpi_rm_pbs tm) \
149
		$(use_with openmpi_rm_slurm slurm)
154
		$(multilib_native_use_with openmpi_rm_slurm slurm)
150
}
155
}
151
156
152
src_install () {
157
multilib_src_install() {
153
	emake DESTDIR="${D}" install
158
	default
159
160
	# Remove la files, no static libs are installed and we have pkg-config
161
	find "${ED}"/usr/$(get_libdir)/ -type f -name '*.la' -delete
162
163
	# fortran header cannot be wrapped (bug #540508), workaround part 1
164
	if multilib_is_native_abi && use fortran; then
165
		mkdir "${T}"/fortran || die
166
		mv "${ED}"/usr/include/mpif* "${T}"/fortran || die
167
	else
168
		#some fortran files get installed unconditionally 
169
		rm "${ED}"/usr/include/mpif* "${ED}"/usr/bin/mpif* || die
170
	fi
171
}
154
172
173
multilib_src_install_all() {
155
	# From USE=vt see #359917
174
	# From USE=vt see #359917
156
	rm "${ED}"/usr/share/libtool &> /dev/null
175
	rm "${ED}"/usr/share/libtool &> /dev/null
157
176
177
	# fortran header cannot be wrapped (bug #540508), workaround part 2
178
	if use fortran; then
179
		mv "${T}"/fortran/mpif* "${ED}"/usr/include || die
180
	fi
181
158
	# Avoid collisions with libevent
182
	# Avoid collisions with libevent
159
	rm -rf "${ED}"/usr/include/event2 &> /dev/null
183
	rm -rf "${ED}"/usr/include/event2 &> /dev/null
160
184
161
	# Remove la files, no static libs are installed and we have pkg-config
185
	dodoc README AUTHORS NEWS VERSION
162
	find "${ED}"/usr/$(get_libdir)/ -type f -name '*.la' -delete
163
164
	dodoc README AUTHORS NEWS VERSION || die
165
}
186
}
166
187
167
src_test() {
188
multilib_src_test() {
168
	# Doesn't work with the default src_test as the dry run (-n) fails.
189
	# Doesn't work with the default src_test as the dry run (-n) fails.
169
	emake -j1 check
190
	emake -j1 check
170
}
191
}

Return to bug 519700