summaryrefslogtreecommitdiff
blob: c15eaf38a68c12b4dff7e90c029eadda122fdb07 (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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/sys-apps/lm_sensors/lm_sensors-2.9.1.ebuild,v 1.4 2005/07/21 13:08:04 brix Exp $

inherit eutils flag-o-matic linux-info toolchain-funcs multilib

DESCRIPTION="Linux System Hardware Monitoring user-space utilities"

HOMEPAGE="http://secure.netroedge.com/~lm78/"
SRC_URI="http://secure.netroedge.com/~lm78/archive/${P}.tar.gz"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc x86"

IUSE="sensord"

DEPEND="sys-apps/sed
		|| (  >=virtual/linux-sources-2.5 sys-apps/lm_sensors-modules )"
RDEPEND="dev-lang/perl
		sensord? ( net-analyzer/rrdtool )"

pkg_setup() {
	linux-info_pkg_setup

	if kernel_is 2 4; then
		if ! has_version =sys-apps/lm_sensors-modules-${PV}; then
			eerror
			eerror "${P} needs sys-apps/lm_sensors-modules-${PV} to be installed"
			eerror "for kernel 2.4.x"
			eerror
			die "sys-apps/lm_sensors-modules-${PV} not installed"
		fi
	else
		if ! (linux_chkconfig_present I2C_SENSOR); then
			eerror
			eerror "${P} requires CONFIG_I2C_SENSOR to be enabled for non-2.4.x kernels."
			eerror
			die "CONFIG_I2C_SENSOR not detected"
		fi
		if ! (linux_chkconfig_present I2C_CHARDEV); then
			eerror
			eerror "${P} requires CONFIG_I2C_CHARDEV to be enabled for non-2.4.x kernels."
			eerror
			die "CONFIG_I2C_CHARDEV not detected"
		fi
		if ! (linux_chkconfig_present I2C); then
			eerror
			eerror "${P} requires CONFIG_I2C to be enabled for non-2.4.x kernels."
			eerror
			die "CONFIG_I2C not detected"
		fi
	fi
}

src_unpack() {
	unpack ${A}

	cd ${S}
	epatch ${FILESDIR}/${P}-sensors-detect-gentoo.patch

	if use sensord; then
		sed -i -e 's:^# \(PROG_EXTRA\):\1:' ${S}/Makefile
	fi
}

src_compile()  {
	einfo
	einfo "You may safely ignore any errors from compilation"
	einfo "that contain \"No such file or directory\" references."
	einfo

	filter-flags -fstack-protector

	emake CC=$(tc-getCC) LINUX=${KV_DIR} I2C_HEADERS=${KV_DIR}/include user \
		|| die "emake user failed"
}

src_install() {
	emake DESTDIR=${D} PREFIX=/usr MANDIR=/usr/share/man LIBDIR=/usr/$(get_libdir) \
		KERNELINCLUDEFILES="" user_install || die "emake user_install failed"

	newinitd ${FILESDIR}/${P}-lm_sensors-init.d lm_sensors

	if use sensord; then
		newconfd ${FILESDIR}/${P}-sensord-conf.d sensord
		newinitd ${FILESDIR}/${P}-sensord-init.d sensord
	fi

	dodoc BACKGROUND BUGS CHANGES CONTRIBUTORS INSTALL QUICKSTART \
		README* TODO

	dodoc doc/cvs doc/donations doc/fancontrol.txt doc/fan-divisors doc/FAQ \
		doc/progs doc/temperature-sensors doc/vid

	dohtml doc/lm_sensors-FAQ.html doc/useful_addresses.html

	docinto busses
	dodoc doc/busses/*

	docinto chips
	dodoc doc/chips/*

	docinto developers
	dodoc doc/developers/applications doc/developers/design \
		doc/developers/new_drivers doc/developers/proc \
		doc/developers/sysctl doc/developers/sysfs-interface
}

pkg_postinst() {
	einfo
	einfo "Next you need to run:"
	einfo "  /usr/sbin/sensors-detect"
	einfo "to detect the I2C hardware of your system and create the file:"
	einfo "  /etc/conf.d/lm_sensors"
	einfo
	einfo "You will need to run the above command even if you're just upgrading,"
	einfo "as the needed entries in /etc/conf.d/lm_sensors has changed."
	einfo
	einfo "Be warned, the probing of hardware in your system performed by"
	einfo "sensors-detect could freeze your system. Also make sure you read"
	einfo "the documentation before running lm_sensors on IBM ThinkPads."
	einfo
	einfo "Please see the lm_sensors documentation and website for more information."
	einfo
}