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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (hide annotations) (download)
Sun Mar 8 22:03:59 2009 UTC (5 years, 6 months ago) by chainsaw
Branch: MAIN
Update HOMEPAGE, closes bug #261356 by Mr. Anderson <walch.martin@web.de>. Version bump to 0.5.12 release candidate 1 which incorporates some patches. Patchset trimmed and rebased accordingly.
(Portage version: 2.1.6.7/cvs/Linux x86_64)

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

  ViewVC Help
Powered by ViewVC 1.1.20