/[gentoo-x86]/sys-apps/hal/hal-0.5.11-r3.ebuild
Gentoo

Contents of /sys-apps/hal/hal-0.5.11-r3.ebuild

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.5 - (hide annotations) (download)
Tue Dec 23 21:04:59 2008 UTC (5 years, 8 months ago) by cardoe
Branch: MAIN
CVS Tags: HEAD
Changes since 1.4: +1 -1 lines
FILE REMOVED
remove old versions that are no longer supported
(Portage version: 2.1.6.1/cvs/Linux 2.6.27-gentoo-r7 x86_64)

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

  ViewVC Help
Powered by ViewVC 1.1.20