summaryrefslogtreecommitdiff
blob: 02a1b55cb5c5d5d07f5d6506c26b6b0998e89033 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/x11-misc/linuxwacom/linuxwacom-0.7.2.ebuild,v 1.3 2006/02/15 22:31:22 corsair Exp $

IUSE="dlloader gtk gtk2 tcltk sdk usb"

inherit multilib eutils

DESCRIPTION="Input driver for Wacom tablets and drawing devices"
HOMEPAGE="http://linuxwacom.sourceforge.net/"
SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"

RDEPEND="|| ( ( x11-proto/inputproto
		x11-base/xorg-server )
	      virtual/x11 )
	gtk? (
		gtk2? ( >=x11-libs/gtk+-2 )
		!gtk2? ( =x11-libs/gtk+-1.2* )
	)
	tcltk? ( dev-lang/tcl dev-lang/tk )
	sys-libs/ncurses"

DEPEND="${RDEPEND}
	dev-util/pkgconfig
	usb? ( >=sys-kernel/linux-headers-2.6 )
	>=sys-apps/sed-4"

pkg_setup() {
	if use sdk || has_version ">=x11-base/xorg-server-0.1" ; then
		if ! built_with_use x11-base/xorg-x11 sdk && ! has_version ">=x11-base/xorg-server-0.1"
		then
			eerror "This package builds against the X.Org SDK, and therefore requires"
			eerror "that you have emerged xorg-x11 with the sdk USE flag enabled."
			die "Please remerge xorg-x11 with the sdk USE flag enabled."
		fi
		einfo "Installing X Wacom driver and accompanying userland utilities."
	else
		ewarn "The 'sdk' use flag is not set. Only building userland tools. If you wish to install"
		ewarn "the updated external driver for your X server, please remerge your X11 package with"
		ewarn "the USE=sdk flag enabled."
	fi
}

src_unpack() {
	unpack ${A}

	if use sdk && ! has_version ">=x11-base/xorg-server-0.1" ; then
		cd ${S}

		# Simple fixes to configure to check the actual location of the XFree86 SDK
		# No need to check if just building userland tools
		sed -i -e "s:XF86SUBDIR=.*:XF86SUBDIR=include:
			   s:XF86V3SUBDIR=.*:XF86V3SUBDIR=include:" configure
	fi

	if has_version ">=x11-base/xorg-server-0.1"; then
		cd ${S}
		epatch ${FILESDIR}/${P}-modular-x.patch
		autoreconf -v --install
		libtoolize --force --copy
	fi
}

src_compile() {
	if use gtk; then
		if use gtk2; then
			myconf="${myconf} --with-gtk=2.0"
		else
			myconf="${myconf} --with-gtk=1.2"
		fi
	else
		myconf="${myconf} --with-gtk=no"
	fi

	if use tcltk ; then
		myconf="${myconf} --with-tcl --with-tk"
	else
		myconf="${myconf} --without-tcl --without-tk"
	fi

	if use amd64 ; then
		myconf="${myconf} --enable-xserver64"
	fi

	if use sdk || has_version ">=x11-base/xorg-server-0.1" ; then
		myconf="${myconf} --enable-wacomdrv --enable-wacdump --enable-xsetwacom"
		has_version ">=x11-base/xorg-server-0.1" || \
			myconf="${myconf} --with-xf86=/usr/$(get_libdir)/Server --with-xorg-sdk=/usr/$(get_libdir)/Server --with-xlib=/usr/$(get_libdir)"

		if use dlloader || has_version ">=x11-base/xorg-x11-6.8.99.15" || has_version ">=x11-base/xorg-server-0.1" ; then
			myconf="${myconf} --enable-dlloader"
		fi

		econf ${myconf} || die "configure failed."

		# Makefile fix for build against SDK
		cd ${S}/src
		sed -i -e "s:/include/extensions:/include:g" Makefile
	else
		myconf="${myconf} --disable-wacomdrv --enable-wacdump --enable-xsetwacom --without-xf86-sdk"
		econf ${myconf} || die "configure failed."
	fi
	cd ${S}
	unset ARCH
	emake || die "build failed."
}

src_install() {
	emake DESTDIR="${D}" install || die "Install failed."
	dohtml -r docs/*
	dodoc AUTHORS ChangeLog NEWS README
}