summaryrefslogtreecommitdiff
blob: 68d49299ce1a227f6fe57e0d4bdb781482cffc5d (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
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/sys-process/numactl/numactl-0.9.9.ebuild,v 1.1 2006/07/16 23:04:25 robbat2 Exp $

inherit eutils toolchain-funcs

DESCRIPTION="Utilities and libraries for NUMA systems."
HOMEPAGE="ftp://ftp.suse.com/pub/people/ak/numa/"
SRC_URI="ftp://ftp.suse.com/pub/people/ak/numa/${P}.tar.gz"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86 ~ppc"
IUSE=""
RDEPEND="virtual/libc
		dev-lang/perl"
DEPEND="${RDEPEND}
		sys-apps/groff"

src_compile() {
	emake all html \
		CC="$(tc-getCC)" CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" \
		|| die "emake failed"
}

src_install() {
	# do this manually, as the Makefile doesn't do a good job
	dobin numactl migratepages numastat
	dolib.so libnuma.so.1
	insinto /usr/include
	doins numa.h numaif.h
	doman migratepages.8 numa.3 numa_maps.5 numactl.8 numastat.8
	dodoc README TODO CHANGES DESIGN
	dodoc numademo.c memhog.c
	dohtml html/*html
	cd ${D}/usr/share/man/man3
	# this list stolen from the Makefile
	local MANLINKS="all_nodes alloc alloc_interleaved alloc_interleaved_subset
	alloc_local alloc_onnode available bind error exit_on_error free
	get_interleave_mask get_interleave_node get_membind get_run_node_mask
	interleave_memory max_node no_nodes node_size node_to_cpus police_memory
	preferred run_on_node run_on_node_mask set_bind_policy  set_interleave_mask
	set_localalloc set_membind set_preferred set_strict setlocal_memory
	tonode_memory tonodemask_memory distance"
	for i in ${MANLINKS}; do
		ln -sf numa.3 numa_${i}.3
	done
}

src_test() {
	einfo "The only generically safe test is regress2."
	einfo "The other test cases require 2 NUMA nodes."
	cd ${S}/test
	./regress2 || die "regress2 failed!"
}