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

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

Parent Directory Parent Directory | Revision Log Revision Log


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

  ViewVC Help
Powered by ViewVC 1.1.20