summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBryan Stine <battousai@gentoo.org>2004-12-23 03:53:03 +0000
committerBryan Stine <battousai@gentoo.org>2004-12-23 03:53:03 +0000
commitdb893bde6b94894c9d00c7f48a7427a8f0e6c369 (patch)
treee0765cd652bdd5e3b82046ee25f86830733d813c
parentinitial aqhbci-ddvcard ebuild (diff)
downloadhistorical-db893bde6b94894c9d00c7f48a7427a8f0e6c369.tar.gz
historical-db893bde6b94894c9d00c7f48a7427a8f0e6c369.tar.bz2
historical-db893bde6b94894c9d00c7f48a7427a8f0e6c369.zip
Uhh...r-bump to take care of earlier whoopsie. Hah...
-rw-r--r--x11-base/x11-drm/ChangeLog9
-rw-r--r--x11-base/x11-drm/Manifest6
-rw-r--r--x11-base/x11-drm/files/digest-x11-drm-20040827-r13
-rw-r--r--x11-base/x11-drm/x11-drm-20040827-r1.ebuild214
-rw-r--r--x11-base/x11-drm/x11-drm-20040827.ebuild4
5 files changed, 231 insertions, 5 deletions
diff --git a/x11-base/x11-drm/ChangeLog b/x11-base/x11-drm/ChangeLog
index 81b1a20a0646..b9df1c6e2d76 100644
--- a/x11-base/x11-drm/ChangeLog
+++ b/x11-base/x11-drm/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for x11-base/x11-drm
# Copyright 1999-2004 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/x11-base/x11-drm/ChangeLog,v 1.10 2004/12/16 07:27:45 battousai Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-base/x11-drm/ChangeLog,v 1.11 2004/12/23 03:53:03 battousai Exp $
+
+*x11-drm-20040827-r1 (22 Dec 2004)
+
+ 22 Dec 2004; Bryan D. Stine <battousai@gentoo.org>
+ +x11-drm-20040827-r1.ebuild, x11-drm-20040827.ebuild:
+ Gah, somehow forgot to bump the patchball revision. Also, ${PF} -> ${P} in
+ patchball SRC_URI.
15 Dec 2004; Bryan Stine <battousai@gentoo.org>; x11-drm-20040827.ebuild:
Add a patch to fix lockfile vulnerability (CAN-2004-1056: Insufficient
diff --git a/x11-base/x11-drm/Manifest b/x11-base/x11-drm/Manifest
index 33d248559fcf..b2d6fab289c7 100644
--- a/x11-base/x11-drm/Manifest
+++ b/x11-base/x11-drm/Manifest
@@ -1,7 +1,9 @@
-MD5 d9b290771defb4a2d10e038c2920327c ChangeLog 15412
+MD5 efe0e16d29a5469fcfacbd08e9de245a ChangeLog 15656
MD5 b67cc82ec3e8786dbc0f8f5e7e37bcfc metadata.xml 360
-MD5 02dff3078978ef08182f1b65a978a77e x11-drm-20040827.ebuild 5836
+MD5 6c811d4164f76f5b5629fe55ca45212e x11-drm-20040827.ebuild 5835
MD5 bb032bf32a1ea94e65c245ac3f7f9219 x11-drm-4.3.0-r7.ebuild 7037
+MD5 7c91dd0c5b0db1ad36b74896bef97290 x11-drm-20040827-r1.ebuild 5838
MD5 a98e43596ee1f7d9d917e0b9fee7770d files/digest-x11-drm-20040827 252
MD5 db87006ec48bc9579dcdc989c5ed86d6 files/digest-x11-drm-4.3.0-r7 363
MD5 88b8c90e440b3db246a7d06cf53640ae files/modules.d-x11-drm 40
+MD5 a98e43596ee1f7d9d917e0b9fee7770d files/digest-x11-drm-20040827-r1 252
diff --git a/x11-base/x11-drm/files/digest-x11-drm-20040827-r1 b/x11-base/x11-drm/files/digest-x11-drm-20040827-r1
new file mode 100644
index 000000000000..46a41e7b6a8d
--- /dev/null
+++ b/x11-base/x11-drm/files/digest-x11-drm-20040827-r1
@@ -0,0 +1,3 @@
+MD5 41556a8f6473ba51223162ea23cdd861 x11-drm-20040827-gentoo-0.2.tar.bz2 9121
+MD5 aa602f867e00717c50921718980f43c2 linux-drm-20040827-kernelsource.tar.bz2 249379
+MD5 72e856bdfcbf181a4d99ff278462f47d linux-drm-gatos-20031202-kernelsource.tar.bz2 154677
diff --git a/x11-base/x11-drm/x11-drm-20040827-r1.ebuild b/x11-base/x11-drm/x11-drm-20040827-r1.ebuild
new file mode 100644
index 000000000000..8c0289d875b6
--- /dev/null
+++ b/x11-base/x11-drm/x11-drm-20040827-r1.ebuild
@@ -0,0 +1,214 @@
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/x11-base/x11-drm/x11-drm-20040827-r1.ebuild,v 1.1 2004/12/23 03:53:03 battousai Exp $
+
+inherit eutils x11 linux-mod
+
+IUSE="gatos"
+IUSE_VIDEO_CARDS="3dfx ffb i810 i830 i915 mach64 matrox rage128 radeon savage sis via"
+
+# 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 ...
+RESTRICT="nostrip"
+
+GATOSSNAP="20031202"
+PATCHVER="0.2"
+PATCHDIR="${WORKDIR}/patch"
+EXCLUDED="${WORKDIR}/excluded"
+S="${WORKDIR}/drm"
+DESCRIPTION="DRM Kernel Modules for X11"
+HOMEPAGE="http://dri.sf.net"
+SRC_URI="mirror://gentoo/${P}-gentoo-${PATCHVER}.tar.bz2
+ mirror://gentoo/linux-drm-${PV}-kernelsource.tar.bz2
+ gatos? ( mirror://gentoo/linux-drm-gatos-${GATOSSNAP}-kernelsource.tar.bz2 )"
+
+SLOT="${KV}"
+LICENSE="X11"
+KEYWORDS="~x86 ~alpha ~ia64 ~ppc ~amd64"
+
+DEPEND="virtual/x11
+ virtual/linux-sources
+ >=sys-apps/portage-2.0.49-r13"
+
+PROVIDE="virtual/drm"
+
+pkg_setup() {
+ # Require at least one video card
+ if [ -z "${VIDEO_CARDS}" ]
+ then
+ die "Please set at least one video card in VIDEO_CARDS in make.conf or the environment. Possible VIDEO_CARDS values are: ${IUSE_VIDEO_CARDS}."
+ fi
+
+ if [ "${ARCH}" != "sparc" ] && use video_cards_ffb
+ then
+ die "The ffb driver is for sparc-specific hardware. Please remove it from your VIDEO_CARDS."
+ fi
+
+ # GATOS only works with radeon, rage128. mach64 is provided by drm trunk.
+ if use gatos
+ then
+ if ! use video_cards_radeon && ! use video_cards_rage128
+ then
+ die "Remove gatos from your USE flags. It does not work with cards other than radeon and rage128."
+ fi
+ kernel_is 2 6 && die "GATOS does not work with 2.6 kernels. Only 2.4 is supported at this time."
+ fi
+
+ ewarn "Using koutput kernels is now deprecated. If you use a koutput kernel, please"
+ ewarn "switch to kernel >=2.6.6 with a normal build system."
+
+ # Set video cards to build for.
+ set_vidcards
+
+ return 0
+}
+
+src_unpack() {
+ if use gatos
+ then
+ unpack linux-drm-gatos-${GATOSSNAP}-kernelsource.tar.bz2
+ else
+ unpack linux-drm-${PV}-kernelsource.tar.bz2
+ fi
+ unpack ${PF}-gentoo-${PATCHVER}.tar.bz2
+
+ cd ${S}
+ cp ${PATCHDIR}/Makefile ${S}
+
+ patch_prepare
+
+ # Apply patches
+ EPATCH_SUFFIX="patch" epatch ${PATCHDIR}
+
+ # Substitute new directory under /lib/modules/${KV}
+ sed -ie "s:/kernel/drivers/char/drm:/${PN}:g" Makefile
+ sed -ie "s:xfree-drm:${PN}:g" Makefile
+}
+
+src_compile() {
+ einfo "Building DRM..."
+
+ # This now uses an M= build system. Makefile does most of the work.
+ unset ARCH
+ make M="${S}" \
+ LINUXDIR="${ROOT}/usr/src/linux" \
+ DRM_MODULES="${VIDCARDS}" \
+ DRMSRCDIR="${S}" \
+ modules || die_error
+
+ # dristat in GATOS seems busted.
+ if ! use gatos
+ then
+ make dristat || die "Building dristat failed."
+ fi
+}
+
+src_install() {
+ einfo "Installing DRM..."
+
+ unset ARCH
+ make KV="${KV}" \
+ LINUXDIR="${ROOT}/usr/src/linux" \
+ DRM_MODULES="${VIDCARDS}" \
+ DESTDIR="${D}" \
+ install || die "Install failed."
+
+ dodoc README*
+
+ if ! use gatos
+ then
+ exeinto /usr/X11R6/bin
+ doexe dristat
+
+ # Strip binaries, leaving /lib/modules untouched (bug #24415)
+ strip_bins \/lib\/modules
+ fi
+
+ # Yoinked from the sys-apps/touchpad ebuild. Thanks to whoever made this.
+ keepdir /etc/modules.d
+ sed 's:%PN%:'${PN}':g' ${FILESDIR}/modules.d-${PN} > ${D}/etc/modules.d/${PN}
+ sed -i 's:%KV%:'${KV}':g' ${D}/etc/modules.d/${PN}
+}
+
+pkg_postinst() {
+ if use video_cards_sis
+ then
+ einfo "SiS direct rendering only works on 300 series chipsets."
+ einfo "SiS framebuffer also needs to be enabled in the kernel."
+ fi
+
+ if use video_cards_mach64
+ then
+ einfo "The Mach64 DRI driver is insecure."
+ einfo "Malicious clients can write to system memory."
+ einfo "For more information, see:"
+ einfo "http://dri.sourceforge.net/cgi-bin/moin.cgi/ATIMach64?value=CategoryHardwareChipset."
+ fi
+
+ einfo "Checking kernel module dependencies"
+ update_modules
+ update_depmod
+}
+
+# Functions used above are defined below:
+
+set_vidcards() {
+ set_kvobj
+
+ VIDCARDS=""
+
+ use video_cards_matrox && \
+ VIDCARDS="${VIDCARDS} mga.${KV_OBJ}"
+ use video_cards_3dfx && \
+ VIDCARDS="${VIDCARDS} tdfx.${KV_OBJ}"
+ use video_cards_rage128 && \
+ VIDCARDS="${VIDCARDS} r128.${KV_OBJ}"
+ use video_cards_radeon && \
+ VIDCARDS="${VIDCARDS} radeon.${KV_OBJ}"
+ use video_cards_i810 && \
+ VIDCARDS="${VIDCARDS} i810.${KV_OBJ}"
+ use video_cards_i830 && \
+ VIDCARDS="${VIDCARDS} i830.${KV_OBJ}"
+ use video_cards_i915 && \
+ VIDCARDS="${VIDCARDS} i915.${KV_OBJ}"
+# use video_cards_gamma && \
+# VIDCARDS="${VIDCARDS} gamma.${KV_OBJ}"
+ use video_cards_mach64 && \
+ VIDCARDS="${VIDCARDS} mach64.${KV_OBJ}"
+ use video_cards_savage && \
+ VIDCARDS="${VIDCARDS} savage.${KV_OBJ}"
+ use video_cards_sis && \
+ VIDCARDS="${VIDCARDS} sis.${KV_OBJ}"
+ use video_cards_via && \
+ VIDCARDS="${VIDCARDS} via.${KV_OBJ}"
+ use video_cards_ffb && \
+ VIDCARDS="${VIDCARDS} ffb.${KV_OBJ}"
+}
+
+patch_prepare() {
+ # Handle exclusions based on the following...
+ # GATOS (2xx*) vs. Standard trees (1xx*)
+ # 2.4 vs. 2.6 kernels
+
+ kernel_is 2 4 && mv -f ${PATCHDIR}/*kernel-2.6* ${EXCLUDED}
+ kernel_is 2 6 && mv -f ${PATCHDIR}/*kernel-2.4* ${EXCLUDED}
+
+ if use gatos
+ then
+ einfo "Updating for GATOS build..."
+ mv -f ${PATCHDIR}/1* ${EXCLUDED}
+ # Don't bother with dristat, it's broken
+ mv -f ${PATCHDIR}/*dristat* ${EXCLUDED}
+ else
+ einfo "Updating for standard build..."
+ mv -f ${PATCHDIR}/2* ${EXCLUDED}
+ fi
+}
+
+die_error() {
+ eerror "Portage could not build the DRM modules. If you see an ACCESS DENIED error,"
+ eerror "this could mean that you were using an unsupported kernel build system. All"
+ eerror "2.4 kernels are supported, but only 2.6 kernels at least as new as 2.6.6"
+ eerror "are supported."
+ die "Unable to build DRM modules."
+}
diff --git a/x11-base/x11-drm/x11-drm-20040827.ebuild b/x11-base/x11-drm/x11-drm-20040827.ebuild
index 16523b6fbdd8..fdc538cea77c 100644
--- a/x11-base/x11-drm/x11-drm-20040827.ebuild
+++ b/x11-base/x11-drm/x11-drm-20040827.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/x11-base/x11-drm/x11-drm-20040827.ebuild,v 1.7 2004/12/16 07:27:45 battousai Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-base/x11-drm/x11-drm-20040827.ebuild,v 1.8 2004/12/23 03:53:03 battousai Exp $
inherit eutils x11 linux-mod
@@ -18,7 +18,7 @@ EXCLUDED="${WORKDIR}/excluded"
S="${WORKDIR}/drm"
DESCRIPTION="DRM Kernel Modules for X11"
HOMEPAGE="http://dri.sf.net"
-SRC_URI="mirror://gentoo/${PF}-gentoo-${PATCHVER}.tar.bz2
+SRC_URI="mirror://gentoo/${P}-gentoo-${PATCHVER}.tar.bz2
mirror://gentoo/linux-drm-${PV}-kernelsource.tar.bz2
gatos? ( mirror://gentoo/linux-drm-gatos-${GATOSSNAP}-kernelsource.tar.bz2 )"