summaryrefslogtreecommitdiff
blob: 2d97ae7df61c2ba988e84acf7200718d835cf235 (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
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=5

inherit autotools

DESCRIPTION="ZeroMQ is a brokerless kernel"
HOMEPAGE="http://www.zeromq.org/"
SRC_URI="http://download.zeromq.org/${P}.tar.gz"

LICENSE="LGPL-3"
SLOT="0/3"
KEYWORDS="amd64 arm hppa ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="pgm test static-libs elibc_glibc"
RESTRICT="!test? ( test )"

DEPEND="
	|| ( sys-devel/gcc sys-devel/gcc-apple )
	pgm? (
		virtual/pkgconfig
		>=net-libs/openpgm-5.2
	)
	elibc_glibc? ( sys-apps/util-linux )"
RDEPEND=""

src_prepare() {
	einfo "Removing bundled OpenPGM library"
	sed -i 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/g' configure.in || die
	rm -r "${S}"/foreign/openpgm/libpgm* || die
	# apply effective bit of below commit to fix compilation on Darwin
	# https://github.com/zeromq/zeromq3-x/commit/400cbc208a768c4df5039f401dd2688eede6e1ca
	sed -i -e '/strndup/d' tests/test_disconnect_inproc.cpp || die
	mv configure.{in,ac} || die
	eautoreconf
}

src_configure() {
	local myconf
	use pgm && myconf="--with-system-pgm" || myconf="--without-pgm"
	econf \
	  $(use_enable static-libs static) \
	  ${myconf}
}

src_test() {
	emake -j1 check
}

src_install() {
	default
	doman doc/*.[1-9]

	# remove useless .la files
	find "${ED}" -name '*.la' -delete || die

	# remove useless .a (only for non static compilation)
	if ! use static-libs; then
		find "${ED}" -name '*.a' -delete || die
	fi
}