summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBryan Stine <battousai@gentoo.org>2005-05-03 18:10:57 +0000
committerBryan Stine <battousai@gentoo.org>2005-05-03 18:10:57 +0000
commit72bea99a8552f0da67fd3054267a524af3341831 (patch)
tree2550712d7452ebcfd6ef2a27cbb33e691e2ba330 /x11-base
parentUpdate (diff)
downloadhistorical-72bea99a8552f0da67fd3054267a524af3341831.tar.gz
historical-72bea99a8552f0da67fd3054267a524af3341831.tar.bz2
historical-72bea99a8552f0da67fd3054267a524af3341831.zip
New snapshot, implements core.
Package-Manager: portage-2.0.51.19
Diffstat (limited to 'x11-base')
-rw-r--r--x11-base/x11-drm/ChangeLog8
-rw-r--r--x11-base/x11-drm/Manifest24
-rw-r--r--x11-base/x11-drm/files/digest-x11-drm-200505022
-rw-r--r--x11-base/x11-drm/x11-drm-20050502.ebuild226
4 files changed, 243 insertions, 17 deletions
diff --git a/x11-base/x11-drm/ChangeLog b/x11-base/x11-drm/ChangeLog
index a93a04cf34df..b42a25bbc4da 100644
--- a/x11-base/x11-drm/ChangeLog
+++ b/x11-base/x11-drm/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for x11-base/x11-drm
# Copyright 1999-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/x11-base/x11-drm/ChangeLog,v 1.17 2005/04/25 11:44:59 brix Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-base/x11-drm/ChangeLog,v 1.18 2005/05/03 18:10:57 battousai Exp $
+
+*x11-drm-20050502 (03 May 2005)
+
+ 03 May 2005; Bryan Stine <battousai@gentoo.org> +x11-drm-20050502.ebuild:
+ New snapshot. Builds linux-core now, and as such has checks for proper
+ kernel config. Also warns when AGP is not enabled.
25 Apr 2005; <brix@gentoo.org> :
Dependency update: sys-apps/pcmcia-cs -> app-laptop/pcmcia-cs.
diff --git a/x11-base/x11-drm/Manifest b/x11-base/x11-drm/Manifest
index 03399144f56e..8e6e5b7bc63d 100644
--- a/x11-base/x11-drm/Manifest
+++ b/x11-base/x11-drm/Manifest
@@ -1,21 +1,13 @@
------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA1
-
-MD5 6aa49f36f8f7572a4382ad75f3530b58 x11-drm-20050104.ebuild 5779
-MD5 48bc21b275bde784adf0d54380f5a9f0 x11-drm-4.3.0-r7.ebuild 7037
-MD5 7b07d3f7ffbe93ceae62e0359c94f15d ChangeLog 16350
+MD5 d36f669efa58501daace364e80fd9ce8 ChangeLog 16591
MD5 782be9470cf76716a15aa5a70f4b8af7 metadata.xml 368
-MD5 ad92bd194d12796398fe35f19ac77c63 x11-drm-20040827.ebuild 5927
MD5 d556d329556844afe526c1f9e24511fd x11-drm-20040827-r1.ebuild 5930
-MD5 db87006ec48bc9579dcdc989c5ed86d6 files/digest-x11-drm-4.3.0-r7 363
+MD5 ad92bd194d12796398fe35f19ac77c63 x11-drm-20040827.ebuild 5927
+MD5 6aa49f36f8f7572a4382ad75f3530b58 x11-drm-20050104.ebuild 5779
+MD5 48bc21b275bde784adf0d54380f5a9f0 x11-drm-4.3.0-r7.ebuild 7037
+MD5 db4eb556028e7fdd451315f1ca636e48 x11-drm-20050502.ebuild 6120
MD5 a98e43596ee1f7d9d917e0b9fee7770d files/digest-x11-drm-20040827 252
-MD5 eae1f8dbce515e888b8b6554aa3a98e2 files/digest-x11-drm-20050104 162
MD5 a98e43596ee1f7d9d917e0b9fee7770d files/digest-x11-drm-20040827-r1 252
+MD5 eae1f8dbce515e888b8b6554aa3a98e2 files/digest-x11-drm-20050104 162
+MD5 db87006ec48bc9579dcdc989c5ed86d6 files/digest-x11-drm-4.3.0-r7 363
MD5 88b8c90e440b3db246a7d06cf53640ae files/modules.d-x11-drm 40
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.1 (GNU/Linux)
-
-iD8DBQFCbWKvI1lqEGTUzyQRAhLmAKDP8ucIA6wJOLPsWqebLiy19Jg3FACgxaof
-qL1LusGNUj4fTSAcRqWmNR0=
-=v9cN
------END PGP SIGNATURE-----
+MD5 bf8c931ce86a904875d80f5568ada534 files/digest-x11-drm-20050502 162
diff --git a/x11-base/x11-drm/files/digest-x11-drm-20050502 b/x11-base/x11-drm/files/digest-x11-drm-20050502
new file mode 100644
index 000000000000..80ef71e9d1ed
--- /dev/null
+++ b/x11-base/x11-drm/files/digest-x11-drm-20050502
@@ -0,0 +1,2 @@
+MD5 d4552c64415082ddba1515e24c2aef0e x11-drm-20050502-gentoo-0.1.tar.bz2 2095
+MD5 498b496e25154f5bd6e7534ae16c15d4 linux-drm-20050502-kernelsource.tar.bz2 518178
diff --git a/x11-base/x11-drm/x11-drm-20050502.ebuild b/x11-base/x11-drm/x11-drm-20050502.ebuild
new file mode 100644
index 000000000000..a4379ab8ea29
--- /dev/null
+++ b/x11-base/x11-drm/x11-drm-20050502.ebuild
@@ -0,0 +1,226 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/x11-base/x11-drm/x11-drm-20050502.ebuild,v 1.1 2005/05/03 18:10:57 battousai Exp $
+
+inherit eutils x11 linux-mod
+
+IUSE=""
+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"
+
+S="${WORKDIR}/drm"
+PATCHVER="0.1"
+PATCHDIR="${WORKDIR}/patch"
+EXCLUDED="${WORKDIR}/excluded"
+
+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"
+
+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() {
+ get_version
+
+ # 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
+
+ if linux_chkconfig_builtin "DRM"
+ then
+ die "Please disable or modularize DRM in the kernel config. (CONFIG_DRM = n or m)"
+ fi
+
+ if ! linux_chkconfig_present "AGP"
+ then
+ einfo "AGP support is not enabled in your kernel config. This may be needed for DRM to"
+ einfo "work, so you might want to double-check that setting. (CONFIG_AGP)"
+ echo
+ fi
+
+ # Set video cards to build for.
+ set_vidcards
+
+ # DRM CVS is undergoing changes which require splitting source to support both 2.4
+ # and 2.6 kernels. This determines which to use.
+ get_drm_build_dir
+
+ return 0
+}
+
+src_unpack() {
+ unpack linux-drm-${PV}-kernelsource.tar.bz2
+ unpack ${P}-gentoo-${PATCHVER}.tar.bz2
+
+ cd ${S}
+
+ patch_prepare
+
+ # Apply patches
+ EPATCH_SUFFIX="patch" epatch ${PATCHDIR}
+
+ # Substitute new directory under /lib/modules/${KV}
+ cd ${SRC_BUILD}
+ sed -ie "s:/kernel/drivers/char/drm:/${PN}:g" Makefile
+
+ cp ${S}/tests/*.c ${SRC_BUILD}
+}
+
+src_compile() {
+ einfo "Building DRM in ${SRC_BUILD}..."
+ cd ${SRC_BUILD}
+
+ # This now uses an M= build system. Makefile does most of the work.
+ unset ARCH
+ make M="${SRC_BUILD}" \
+ LINUXDIR="${ROOT}/usr/src/linux" \
+ DRM_MODULES="${VIDCARDS}" \
+ modules || die_error
+
+ # Building the programs. These are useful for developers and getting info from DRI and DRM.
+ #
+ # libdrm objects are needed for drmstat.
+ cd ${S}/libdrm
+ make || die "Could not build libdrm"
+
+ if linux_chkconfig_present DRM
+ then
+ echo "Please disable in-kernel DRM support to use this package."
+ fi
+
+ cd ${SRC_BUILD}
+ # LINUXDIR is needed to allow Makefiles to find kernel release.
+ make LINUXDIR="${ROOT}/usr/src/linux" dristat || die "Building dristat failed."
+ make LINUXDIR="${ROOT}/usr/src/linux" drmstat || die "Building drmstat failed."
+}
+
+src_install() {
+ einfo "Installing DRM..."
+ cd ${SRC_BUILD}
+
+ unset ARCH
+ make KV="${KV}" \
+ LINUXDIR="${ROOT}/usr/src/linux" \
+ DESTDIR="${D}" \
+ RUNNING_REL="${KV}" \
+ MODULE_LIST="${VIDCARDS} drm.${KV_OBJ}" \
+ install || die "Install failed."
+
+ dodoc README.drm
+
+ exeinto /usr/X11R6/bin
+ doexe dristat
+ doexe drmstat
+
+ # Strip binaries, leaving /lib/modules untouched (bug #24415)
+ strip_bins \/lib\/modules
+
+ # 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...
+ # All trees (0**), Standard only (1**), Others (none right now)
+ # 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}
+
+ # There is only one tree being maintained now. No numeric exclusions need
+ # to be done based on DRM tree.
+}
+
+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."
+}
+
+get_drm_build_dir() {
+ if kernel_is 2 4
+ then
+ SRC_BUILD="${S}/linux"
+ elif kernel_is 2 6
+ then
+ SRC_BUILD="${S}/linux-core"
+ fi
+}