/[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.3 - (hide annotations) (download)
Sat May 9 22:11:15 2009 UTC (5 years, 3 months ago) by dang
Branch: MAIN
CVS Tags: HEAD
Changes since 1.2: +1 -1 lines
FILE REMOVED
bump to hal-0.5.12_rc1-r3
(Portage version: 2.2_rc31/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 dang 1.3 # $Header: /var/cvsroot/gentoo-x86/sys-apps/hal/hal-0.5.12_rc1.ebuild,v 1.2 2009/04/29 22:33:54 vapier Exp $
4 chainsaw 1.1
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 vapier 1.2 PDEPEND=">=app-misc/hal-info-20081219
54 chainsaw 1.1 !gnome-extra/hal-device-manager
55     laptop? ( >=sys-power/pm-utils-0.99.3 )"
56    
57     ## HAL Daemon drops privledges so we need group access to read disks
58     HALDAEMON_GROUPS_LINUX="haldaemon,plugdev,disk,cdrom,cdrw,floppy,usb"
59     HALDAEMON_GROUPS_FREEBSD="haldaemon,plugdev,operator"
60    
61     function check_hotplug_net() {
62     local CONFIG_CHECK="~HOTPLUG ~NET"
63     local WARNING_HOTPLUG="CONFIG_HOTPLUG:\tis not set (required for HAL)\n"
64     local WARNING_NET="CONFIG_NET:\tis not set (required for HAL)\n"
65     check_extra_config
66     }
67    
68     function check_inotify() {
69     local CONFIG_CHECK="~INOTIFY_USER"
70     local WARNING_INOTIFY_USER="CONFIG_INOTIFY_USER:\tis not set (required for HAL)\n"
71     check_extra_config
72     }
73    
74     function check_acpi_proc() {
75     local CONFIG_CHECK="~ACPI_PROCFS ~ACPI_PROC_EVENT"
76     local WARNING_ACPI_PROCFS="CONFIG_ACPI_PROCFS:\tis not set (required for HAL)\n"
77     local WARNING_ACPI_PROC_EVENT="CONFIG_ACPI_PROC_EVENT:\tis not set (required for HAL)\n"
78     check_extra_config
79     }
80    
81     pkg_setup() {
82     if use kernel_linux ; then
83     if [[ -e "${ROOT}/usr/src/linux/.config" ]] ; then
84     kernel_is ge 2 6 19 || ewarn "HAL requires a kernel version 2.6.19 or newer"
85    
86     if kernel_is lt 2 6 23 && use acpi ; then
87     check_acpi_proc
88     fi
89     fi
90    
91     check_hotplug_net
92     check_inotify
93     fi
94    
95     # http://devmanual.gentoo.org/ebuild-writing/functions/
96     # http://bugs.gentoo.org/show_bug.cgi?id=191605
97    
98     # Create groups for hotplugging and HAL
99     enewgroup haldaemon
100     enewgroup plugdev
101    
102     # HAL drops priviledges by default now ...
103     # ... so we must make sure it can read disk/cdrom info (ie. be in ${HALDAEMON_GROUPS} groups)
104     if use kernel_linux; then
105     enewuser haldaemon -1 "-1" /dev/null ${HALDAEMON_GROUPS_LINUX}
106     elif use kernel_FreeBSD; then
107     enewuser haldaemon -1 "-1" /dev/null ${HALDAEMON_GROUPS_FREEBSD}
108     fi
109    
110     # Make sure that the haldaemon user is in the ${HALDAEMON_GROUPS}
111     # If users have a problem with this, let them file a bug
112     if [[ ${ROOT} == / ]] ; then
113     if use kernel_linux; then
114     usermod -G ${HALDAEMON_GROUPS_LINUX} haldaemon
115     elif use kernel_FreeBSD; then
116     pw usermod haldaemon -G ${HALDAEMON_GROUPS_FREEBSD}
117     fi
118     fi
119     }
120    
121     src_unpack() {
122     unpack ${A}
123     cd "${S}"
124    
125     EPATCH_MULTI_MSG="Applying Gentoo Patchset ..." \
126     EPATCH_SUFFIX="patch" \
127     EPATCH_SOURCE="${WORKDIR}/${P}-patches/" \
128     EPATCH_FORCE="yes" \
129     epatch
130    
131     eautoreconf
132     }
133    
134     src_compile() {
135     local acpi="$(use_enable acpi)"
136     local backend=
137     local hardware=
138    
139     append-flags -rdynamic
140    
141     if use kernel_linux ; then
142     backend="linux"
143     elif use kernel_FreeBSD ; then
144     backend="freebsd"
145     else
146     eerror "Invalid backend"
147     fi
148    
149     if use kernel_linux ; then
150     if use acpi ; then
151     # Using IBM ACPI and Toshiba ACPI results in double notification as this
152     # was merged into the Linux Kernel 2.6.22
153     if kernel_is lt 2 6 22 ; then
154     acpi="$acpi --enable-acpi-ibm --enable-acpi-toshiba"
155     else
156     acpi="$acpi --disable-acpi-ibm --disable-acpi-toshiba"
157     fi
158    
159     acpi="$acpi --enable-acpi-proc --enable-acpi-acpid"
160     else
161     acpi="$acpi --disable-acpi-ibm --disable-acpi-toshiba"
162     acpi="$acpi --disable-acpi-proc --disable-acpi-acpid"
163     fi
164    
165     hardware="--with-cpufreq --with-usb-csr --with-keymaps"
166     use arm && hardware="$hardware --with-omap --enable-pmu"
167     use ppc && hardware="$hardware --enable-pmu"
168     if use x86 || use amd64; then
169     hardware="$hardware --with-macbook --with-macbookpro"
170     fi
171    
172     if use dell ; then
173     hardware="$hardware --with-dell-backlight"
174     else
175     hardware="$hardware --without-dell-backlight"
176     fi
177    
178     hardware="$hardware --enable-sonypic"
179     else
180     hardware="--without-cpufreq --without-usb-csr --without-keymaps"
181     hardware="$hardware --without-omap"
182     hardware="$hardware --without-dell-backlight"
183     hardware="$hardware --enable-acpi-ibm --enable-acpi-toshiba"
184     hardware="$hardware --disable-sonypic"
185     fi
186    
187     econf --with-backend=${backend} \
188     --with-os-type=gentoo \
189     --with-pid-file=/var/run/hald.pid \
190     --with-hwdata=/usr/share/misc \
191     --with-socket-dir=/var/run/hald \
192     --enable-umount-helper \
193     --enable-man-pages \
194     --disable-policy-kit \
195     --disable-console-kit \
196     --disable-acl-management \
197     --enable-pci \
198     $(use_enable apm) \
199     $(use_enable debug verbose-mode) \
200     $(use_enable disk-partition parted) \
201     $(use_enable doc docbook-docs) \
202     $(use_enable doc gtk-doc) \
203     --docdir=/usr/share/doc/${PF} \
204     --localstatedir=/var \
205     ${acpi} ${hardware} \
206     || die "configure failed"
207    
208     emake || die "make failed"
209     }
210    
211     src_install() {
212     emake DESTDIR="${D}" install || die
213     dodoc AUTHORS ChangeLog NEWS README || die "docs failed"
214    
215     # hal umount for unclean unmounts
216     exeinto /lib/udev/
217     newexe "${FILESDIR}/hal-unmount.dev" hal_unmount || die "udev helper failed"
218    
219     # initscript
220     newinitd "${FILESDIR}/0.5.10-hald.rc" hald || die "init script failed"
221    
222     # configuration
223     cp "${FILESDIR}/0.5.10-hald.conf" "${WORKDIR}/" || \
224     die "failed to copy hald.conf"
225    
226     if use debug; then
227     sed -e 's:HALD_VERBOSE="no":HALD_VERBOSE="yes":' \
228     -i "${WORKDIR}/0.5.10-hald.conf" || die "failed to change verbose"
229     fi
230     newconfd "${WORKDIR}/0.5.10-hald.conf" hald || \
231     die "failed to install hald.conf"
232    
233     if use X ; then
234     # New Configuration Snippets
235     dodoc "${WORKDIR}/${PN}-config-examples/"*.fdi || \
236     die "dodoc X examples failed"
237     fi
238    
239     # We now create and keep /media here as both gnome-mount and pmount
240     # use these directories, to avoid collision.
241     keepdir /media
242    
243     # We also need to create and keep /etc/fdi/{information,policy,preprobe}
244     # or else hal bombs.
245     keepdir /etc/hal/fdi/{information,policy,preprobe}
246    
247     # HAL stores it's fdi cache in /var/lib/cache/hald
248     keepdir /var/lib/cache/hald
249    
250     # HAL keeps its unix socket here
251     keepdir /var/run/hald
252     keepdir /var/lib/hal
253     }
254    
255     pkg_postinst() {
256     # Despite what people keep changing this location. Either one works.. it doesn't matter
257     # http://dev.gentoo.org/~plasmaroo/devmanual/ebuild-writing/functions/
258    
259     elog "The HAL daemon needs to be running for certain applications to"
260     elog "work. Suggested is to add the init script to your start-up"
261     elog "scripts, this should be done like this :"
262     elog "\`rc-update add hald default\`"
263     echo
264     elog "Looking for automounting support? Add yourself to the plugdev group"
265     echo
266     elog "IF you have additional applications which consume ACPI events, you"
267     elog "should consider installing acpid to allow applications to share ACPI"
268     elog "events."
269     if use X ; then
270     echo
271     elog "If you wish to use a non US layout, you may do so by executing:"
272     elog "setxkbmap <layout> or by utilizing your Desktop Environment's"
273     elog "Keyboard Layout Settings mechanism."
274     elog "Under GNOME, this is gnome-keyboard-properties, and under KDE"
275     elog "it is kxkb."
276     fi
277     echo
278     elog "In order have suspend/hibernate function with HAL or apps that use HAL"
279     elog "(such as gnome-power-manager), you should build HAL with the laptop"
280     elog "useflag which will install pm-utils."
281     if use X ; then
282     echo
283     elog "X Input Hotplugging (if you build xorg-server with the HAL useflag)"
284     elog "reads user specific configuration from /etc/hal/fdi/policy/."
285     echo
286     elog "You should remove the Input sections from your xorg.conf once you have"
287     elog "migrated the rules to a HAL fdi file."
288     fi
289    
290     ebeep 5
291     epause 5
292     }

  ViewVC Help
Powered by ViewVC 1.1.20