/[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 - (hide annotations) (download)
Fri May 29 17:42:22 2009 UTC (5 years, 3 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 dang 1.1 # Copyright 1999-2009 Gentoo Foundation
2     # Distributed under the terms of the GNU General Public License v2
3 dang 1.4 # $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 dang 1.1
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 robbat2 1.3 =virtual/libusb-0*
29 dang 1.1 >=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 dang 1.2 )
62     !<gnome-extra/gnome-power-manager-2.24.4-r2"
63 dang 1.1 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