/[gentoo-x86]/sys-apps/hal/hal-0.5.12_rc1-r2.ebuild
Gentoo

Contents of /sys-apps/hal/hal-0.5.12_rc1-r2.ebuild

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.4 - (show annotations) (download)
Fri May 29 17:42:22 2009 UTC (4 years, 10 months ago) by dang
Branch: MAIN
CVS Tags: HEAD
Changes since 1.3: +1 -1 lines
FILE REMOVED
Fix bug #267042 and bug #269897
(Portage version: 2.2_rc33/cvs/Linux x86_64)

1 # Copyright 1999-2009 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
3 # $Header: /var/cvsroot/gentoo-x86/sys-apps/hal/hal-0.5.12_rc1-r2.ebuild,v 1.3 2009/05/16 08:49:29 robbat2 Exp $
4
5 EAPI="2"
6
7 inherit eutils linux-info autotools flag-o-matic
8
9 PATCH_VERSION="3"
10
11 MY_P=${P/_/}
12 S=${WORKDIR}/${MY_P}
13 DESCRIPTION="Hardware Abstraction Layer"
14 HOMEPAGE="http://www.freedesktop.org/wiki/Software/hal"
15 SRC_URI="http://hal.freedesktop.org/releases/${MY_P}.tar.bz2
16 http://dev.gentoo.org/~dang/files/${MY_P}-gentoo-patches-${PATCH_VERSION}.tar.bz2"
17
18 LICENSE="|| ( GPL-2 AFL-2.0 )"
19 SLOT="0"
20 KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd"
21
22 KERNEL_IUSE="kernel_linux kernel_FreeBSD"
23 IUSE="X acpi apm crypt consolekit debug dell disk-partition doc laptop policykit selinux ${KERNEL_IUSE}"
24
25 RDEPEND=">=dev-libs/dbus-glib-0.61
26 >=dev-libs/glib-2.14
27 >=dev-libs/expat-1.95.8
28 =virtual/libusb-0*
29 >=sys-apps/pciutils-2.2.7-r1
30 >=dev-util/gperf-3.0.3
31 sys-apps/usbutils
32 virtual/eject
33 amd64? ( >=sys-apps/dmidecode-2.7 )
34 dell? ( >=sys-libs/libsmbios-0.13.4 )
35 disk-partition? ( >=sys-apps/parted-1.8.0 )
36 ia64? ( >=sys-apps/dmidecode-2.7 )
37 kernel_linux? (
38 >=sys-fs/udev-117
39 >=sys-apps/util-linux-2.13
40 >=sys-kernel/linux-headers-2.6.19
41 crypt? ( >=sys-fs/cryptsetup-1.0.5 )
42 )
43 kernel_FreeBSD? ( >=dev-libs/libvolume_id-0.77 )
44 x86? ( >=sys-apps/dmidecode-2.7 )
45 selinux? ( sys-libs/libselinux sec-policy/selinux-hal )
46 consolekit? (
47 sys-auth/consolekit[policykit=]
48 )
49 policykit? (
50 sys-auth/consolekit[policykit]
51 sys-auth/policykit[pam]
52 )"
53 DEPEND="${RDEPEND}
54 dev-util/pkgconfig
55 >=dev-util/intltool-0.35
56 doc? (
57 app-text/xmlto
58 dev-libs/libxml2
59 dev-util/gtk-doc
60 app-text/docbook-sgml-utils
61 )
62 !<gnome-extra/gnome-power-manager-2.24.4-r2"
63 PDEPEND=">=app-misc/hal-info-20081219
64 !gnome-extra/hal-device-manager
65 laptop? ( >=sys-power/pm-utils-0.99.3 )"
66
67 ## HAL Daemon drops privledges so we need group access to read disks
68 HALDAEMON_GROUPS_LINUX="haldaemon,plugdev,disk,cdrom,cdrw,floppy,usb"
69 HALDAEMON_GROUPS_FREEBSD="haldaemon,plugdev,operator"
70
71 function check_hotplug_net() {
72 local CONFIG_CHECK="~HOTPLUG ~NET"
73 local WARNING_HOTPLUG="CONFIG_HOTPLUG:\tis not set (required for HAL)\n"
74 local WARNING_NET="CONFIG_NET:\tis not set (required for HAL)\n"
75 check_extra_config
76 }
77
78 function check_inotify() {
79 local CONFIG_CHECK="~INOTIFY_USER"
80 local WARNING_INOTIFY_USER="CONFIG_INOTIFY_USER:\tis not set (required for HAL)\n"
81 check_extra_config
82 }
83
84 function check_acpi_proc() {
85 local CONFIG_CHECK="~ACPI_PROCFS ~ACPI_PROC_EVENT"
86 local WARNING_ACPI_PROCFS="CONFIG_ACPI_PROCFS:\tis not set (required for HAL)\n"
87 local WARNING_ACPI_PROC_EVENT="CONFIG_ACPI_PROC_EVENT:\tis not set (required for HAL)\n"
88 check_extra_config
89 }
90
91 pkg_setup() {
92 if use kernel_linux ; then
93 if [[ -e "${ROOT}/usr/src/linux/.config" ]] ; then
94 kernel_is ge 2 6 19 || ewarn "HAL requires a kernel version 2.6.19 or newer"
95
96 if kernel_is lt 2 6 23 && use acpi ; then
97 check_acpi_proc
98 fi
99 fi
100
101 check_hotplug_net
102 check_inotify
103 fi
104
105 # http://devmanual.gentoo.org/ebuild-writing/functions/
106 # http://bugs.gentoo.org/show_bug.cgi?id=191605
107
108 # Create groups for hotplugging and HAL
109 enewgroup haldaemon
110 enewgroup plugdev
111
112 # HAL drops priviledges by default now ...
113 # ... so we must make sure it can read disk/cdrom info (ie. be in ${HALDAEMON_GROUPS} groups)
114 if use kernel_linux; then
115 enewuser haldaemon -1 "-1" /dev/null ${HALDAEMON_GROUPS_LINUX}
116 elif use kernel_FreeBSD; then
117 enewuser haldaemon -1 "-1" /dev/null ${HALDAEMON_GROUPS_FREEBSD}
118 fi
119
120 # Make sure that the haldaemon user is in the ${HALDAEMON_GROUPS}
121 # If users have a problem with this, let them file a bug
122 if [[ ${ROOT} == / ]] ; then
123 if use kernel_linux; then
124 usermod -G ${HALDAEMON_GROUPS_LINUX} haldaemon
125 elif use kernel_FreeBSD; then
126 pw usermod haldaemon -G ${HALDAEMON_GROUPS_FREEBSD}
127 fi
128 fi
129 }
130
131 src_prepare() {
132 EPATCH_MULTI_MSG="Applying Gentoo Patchset ..." \
133 EPATCH_SUFFIX="patch" \
134 EPATCH_SOURCE="${WORKDIR}/${P}-patches/" \
135 EPATCH_FORCE="yes" \
136 epatch
137
138 eautoreconf
139 }
140
141 src_configure() {
142 local acpi="$(use_enable acpi)"
143 local backend=
144 local hardware=
145
146 append-flags -rdynamic
147
148 if use kernel_linux ; then
149 backend="linux"
150 elif use kernel_FreeBSD ; then
151 backend="freebsd"
152 else
153 eerror "Invalid backend"
154 fi
155
156 if use kernel_linux ; then
157 if use acpi ; then
158 # Using IBM ACPI and Toshiba ACPI results in double notification as this
159 # was merged into the Linux Kernel 2.6.22
160 if kernel_is lt 2 6 22 ; then
161 acpi="$acpi --enable-acpi-ibm --enable-acpi-toshiba"
162 else
163 acpi="$acpi --disable-acpi-ibm --disable-acpi-toshiba"
164 fi
165
166 acpi="$acpi --enable-acpi-proc --enable-acpi-acpid"
167 else
168 acpi="$acpi --disable-acpi-ibm --disable-acpi-toshiba"
169 acpi="$acpi --disable-acpi-proc --disable-acpi-acpid"
170 fi
171
172 hardware="--with-cpufreq --with-usb-csr --with-keymaps"
173 use arm && hardware="$hardware --with-omap --enable-pmu"
174 use ppc && hardware="$hardware --enable-pmu"
175 if use x86 || use amd64; then
176 hardware="$hardware --with-macbook --with-macbookpro"
177 fi
178
179 if use dell ; then
180 hardware="$hardware --with-dell-backlight"
181 else
182 hardware="$hardware --without-dell-backlight"
183 fi
184
185 hardware="$hardware --enable-sonypic"
186 else
187 hardware="--without-cpufreq --without-usb-csr --without-keymaps"
188 hardware="$hardware --without-omap"
189 hardware="$hardware --without-dell-backlight"
190 hardware="$hardware --enable-acpi-ibm --enable-acpi-toshiba"
191 hardware="$hardware --disable-sonypic"
192 fi
193
194 # Policykit support depends on consolekit support. Therefore, force on
195 # consolekit, even if it's USE flag is off, if policykit support is on.
196 # This enables packages to USE-depend on hal[policykit?]
197 econf --with-backend=${backend} \
198 --with-os-type=gentoo \
199 --with-pid-file=/var/run/hald.pid \
200 --with-hwdata=/usr/share/misc \
201 --with-socket-dir=/var/run/hald \
202 --enable-umount-helper \
203 --enable-man-pages \
204 --disable-acl-management \
205 --enable-pci \
206 $(use_enable apm) \
207 $(use_enable debug verbose-mode) \
208 $(use_enable disk-partition parted) \
209 $(use_enable doc docbook-docs) \
210 $(use_enable doc gtk-doc) \
211 $(use_enable consolekit console-kit) \
212 $(use_enable policykit console-kit) \
213 $(use_enable policykit policy-kit) \
214 --docdir=/usr/share/doc/${PF} \
215 --localstatedir=/var \
216 ${acpi} ${hardware} \
217 || die "configure failed"
218 }
219
220 src_install() {
221 emake DESTDIR="${D}" install || die
222 dodoc AUTHORS ChangeLog NEWS README || die "docs failed"
223
224 # hal umount for unclean unmounts
225 exeinto /lib/udev/
226 newexe "${FILESDIR}/hal-unmount.dev" hal_unmount || die "udev helper failed"
227
228 # initscript
229 newinitd "${FILESDIR}/0.5.10-hald.rc" hald || die "init script failed"
230
231 # configuration
232 cp "${FILESDIR}/0.5.10-hald.conf" "${WORKDIR}/" || \
233 die "failed to copy hald.conf"
234
235 if use debug; then
236 sed -e 's:HALD_VERBOSE="no":HALD_VERBOSE="yes":' \
237 -i "${WORKDIR}/0.5.10-hald.conf" || die "failed to change verbose"
238 fi
239 newconfd "${WORKDIR}/0.5.10-hald.conf" hald || \
240 die "failed to install hald.conf"
241
242 if use X ; then
243 # New Configuration Snippets
244 dodoc "${WORKDIR}/${PN}-config-examples/"*.fdi || \
245 die "dodoc X examples failed"
246 fi
247
248 # We now create and keep /media here as both gnome-mount and pmount
249 # use these directories, to avoid collision.
250 keepdir /media
251
252 # We also need to create and keep /etc/fdi/{information,policy,preprobe}
253 # or else hal bombs.
254 keepdir /etc/hal/fdi/{information,policy,preprobe}
255
256 # HAL stores it's fdi cache in /var/lib/cache/hald
257 keepdir /var/lib/cache/hald
258
259 # HAL keeps its unix socket here
260 keepdir /var/run/hald
261 keepdir /var/lib/hal
262 }
263
264 pkg_postinst() {
265 # Despite what people keep changing this location. Either one works.. it doesn't matter
266 # http://dev.gentoo.org/~plasmaroo/devmanual/ebuild-writing/functions/
267
268 elog "The HAL daemon needs to be running for certain applications to"
269 elog "work. Suggested is to add the init script to your start-up"
270 elog "scripts, this should be done like this :"
271 elog "\`rc-update add hald default\`"
272 echo
273 elog "Looking for automounting support? Add yourself to the plugdev group"
274 echo
275 elog "IF you have additional applications which consume ACPI events, you"
276 elog "should consider installing acpid to allow applications to share ACPI"
277 elog "events."
278 if use X ; then
279 echo
280 elog "If you wish to use a non US layout, you may do so by executing:"
281 elog "setxkbmap <layout> or by utilizing your Desktop Environment's"
282 elog "Keyboard Layout Settings mechanism."
283 elog "Under GNOME, this is gnome-keyboard-properties, and under KDE"
284 elog "it is kxkb."
285 fi
286 echo
287 elog "In order have suspend/hibernate function with HAL or apps that use HAL"
288 elog "(such as gnome-power-manager), you should build HAL with the laptop"
289 elog "useflag which will install pm-utils."
290 if use X ; then
291 echo
292 elog "X Input Hotplugging (if you build xorg-server with the HAL useflag)"
293 elog "reads user specific configuration from /etc/hal/fdi/policy/."
294 echo
295 elog "You should remove the Input sections from your xorg.conf once you have"
296 elog "migrated the rules to a HAL fdi file."
297 fi
298
299 ebeep 5
300 epause 5
301 }

  ViewVC Help
Powered by ViewVC 1.1.20