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
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
|
# Copyright 1999-2003 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/x11-base/xfree-drm/xfree-drm-4.3.0-r6.ebuild,v 1.3 2003/07/22 16:48:30 spyderous Exp $
# Small note: we should prob consider using a DRM only tarball, as it will ease
# some of the overhead on older systems, and will enable us to
# update DRM if there are fixes not already in XFree86 tarballs ...
# Removing USE as soon as VIDEO_CARDS shows up in make.conf
IUSE="3dfx gamma i8x0 matrox rage128 radeon sis"
# VIDEO_CARDS="3dfx gamma i810 i830 matrox rage128 radeon sis"
inherit eutils xfree
# Make sure Portage does _NOT_ strip symbols. We will do it later and make sure
# that only we only strip stuff that are safe to strip ...
DEBUG="yes"
RESTRICT="nostrip"
SNAPSHOT="20030714"
PATCHVER="0.1"
S="${WORKDIR}/drm"
DESCRIPTION="Xfree86 Kernel DRM modules"
HOMEPAGE="http://www.xfree.org"
SRC_URI="mirror://gentoo/linux-drm-${PV}-kernelsource-${SNAPSHOT}.tar.gz
mirror://gentoo/${PF}-gentoo-${PATCHVER}.tar.bz2"
# These sources come from one of these places:
#
# http://www.xfree86.org/~alanh/ -- DRM snapshots, outdated
# http://people.debian.org/~daenzer/ -- full tree, often patched but
# somewhat outdated
# http://dri.sourceforge.net/snapshots/ -- daily CVS snapshots, lacking
# gamma and sis
# http://dri.sourceforge.net CVS -- full tree
# http://cvs.sourceforge.net/cvstarballs/dri-cvsroot.tar.gz -- backup
# rsync -avz --delete rsync://mefriss1.swan.ac.uk/dri/ -- temporary
#
# We throw all necessary files into one folder and turn that into our tarball.
SLOT="${KV}"
LICENSE="X11"
KEYWORDS="x86 ~alpha -ppc"
DEPEND=">=x11-base/xfree-${PV}
virtual/linux-sources"
PROVIDE="virtual/drm"
VIDCARDS=""
if [ `use matrox || vcards matrox` ]
then
VIDCARDS="${VIDCARDS} mga.o"
fi
if [ `use 3dfx || vcards 3dfx` ]
then
VIDCARDS="${VIDCARDS} tdfx.o"
fi
if [ `use rage128 || vcards rage128` ]
then
VIDCARDS="${VIDCARDS} r128.o"
fi
if [ `use radeon || vcards radeon` ]
then
VIDCARDS="${VIDCARDS} radeon.o"
fi
if [ `use sis || vcards sis` ]
then
VIDCARDS="${VIDCARDS} sis.o"
fi
if use i8x0 &>/dev/null
then
VIDCARDS="${VIDCARDS} i810.o i830.o"
fi
if [ `use gamma || vcards gamma` ]
then
VIDCARDS="${VIDCARDS} gamma.o"
fi
vcards i810 &>/dev/null && VIDCARDS="${VIDCARDS} i810.o"
vcards i830 &>/dev/null && VIDCARDS="${VIDCARDS} i830.o"
src_unpack() {
# Is this necessary with the fixed Makefile?
if [ ! -f /usr/src/linux/include/config/MARKER ] ; then
die "Please compile kernel sources."
fi
if [ -z "${VIDCARDS}" ] ; then
die "Please set at least one video card in VIDEO_CARDS. USE is deprecated. Possible VIDEO_CARDS values are matrox, 3dfx, rage128, radeon, sis, i810, i830, and gamma."
fi
unpack ${A}
cd ${S}
local PATCHDIR=${WORKDIR}/patch
epatch ${PATCHDIR}/${PF}-gentoo-Makefile-fixup.patch
epatch ${PATCHDIR}/${PF}-dristat.patch
# Pfeifer said this patch is ok for any kernel >= 2.4 <spyderous>
# if [ "${KV_major}" -eq 2 -a "${KV_minor}" -eq 4 ] && \
if [ -r /usr/src/linux/mm/rmap.c ]
then
einfo "Detected rmap enabled kernel."
EPATCH_SINGLE_MSG="Applying rmap patch..." \
epatch ${PATCHDIR}/${PF}-pte_offset.diff
fi
# Fix for 2.5 kernels
# if [ "${KV_major}" -eq 2 -a "${KV_minor}" -eq 5 ]
# then
# EPATCH_SINGLE_MSG="Applying patch for kernel 2.5..." \
# epatch ${PATCHDIR}/${PF}-drm_2.5.diff
# fi
}
src_compile() {
check_KV
ln -sf Makefile.linux Makefile
einfo "Building DRM..."
make ${VIDCARDS} \
TREE="/usr/src/linux/include" KV="${KV}"
make dristat || die
}
src_install() {
einfo "installing DRM..."
make \
TREE="/usr/src/linux/include" \
KV="${KV}" \
DESTDIR="${D}" \
MODS="${VIDCARDS}" \
install || die
dodoc README*
exeinto /usr/X11R6/bin
doexe dristat
}
pkg_postinst() {
if [ "${ROOT}" = "/" ]
then
/sbin/modules-update
fi
if [ -z "VIDEO_CARDS" ]
then
einfo "USE is deprecated. Please set your video cards using VIDEO_CARDS."
einfo "Possible VIDEO_CARDS values are matrox, 3dfx, rage128, radeon, sis, i810, i830, and gamma."
fi
}
|