diff options
author | Bryan Stine <battousai@gentoo.org> | 2005-10-29 03:18:25 +0000 |
---|---|---|
committer | Bryan Stine <battousai@gentoo.org> | 2005-10-29 03:18:25 +0000 |
commit | 49db4af4968c1f75b9ba8f15914c939e3fa0776e (patch) | |
tree | 5538db8577f91500fcc16fdbbaae36bc29a77336 /x11-base/x11-drm | |
parent | tds_free_connect has been renamed too, update patch (diff) | |
download | historical-49db4af4968c1f75b9ba8f15914c939e3fa0776e.tar.gz historical-49db4af4968c1f75b9ba8f15914c939e3fa0776e.tar.bz2 historical-49db4af4968c1f75b9ba8f15914c939e3fa0776e.zip |
Snapshot bump, plus a couple of bug fixes: bug #105233, bug #108504.
Package-Manager: portage-2.0.53_rc5
Diffstat (limited to 'x11-base/x11-drm')
-rw-r--r-- | x11-base/x11-drm/ChangeLog | 18 | ||||
-rw-r--r-- | x11-base/x11-drm/Manifest | 14 | ||||
-rw-r--r-- | x11-base/x11-drm/files/digest-x11-drm-20051028 | 2 | ||||
-rw-r--r-- | x11-base/x11-drm/x11-drm-20050807.ebuild | 23 | ||||
-rw-r--r-- | x11-base/x11-drm/x11-drm-20051028.ebuild | 233 |
5 files changed, 270 insertions, 20 deletions
diff --git a/x11-base/x11-drm/ChangeLog b/x11-base/x11-drm/ChangeLog index 287b765ea967..b5e16c27f0f0 100644 --- a/x11-base/x11-drm/ChangeLog +++ b/x11-base/x11-drm/ChangeLog @@ -1,6 +1,22 @@ # 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.21 2005/08/09 01:56:12 battousai Exp $ +# $Header: /var/cvsroot/gentoo-x86/x11-base/x11-drm/ChangeLog,v 1.22 2005/10/29 03:18:25 battousai Exp $ + +*x11-drm-20051028 (29 Oct 2005) + + 29 Oct 2005; Bryan Stine <battousai@gentoo.org> x11-drm-20050807.ebuild, + +x11-drm-20051028.ebuild: + Snapshot bump to introduce new skeletal nv driver, provided for speedy EXA + via DMA transfers. + + Applied the patch provided by Alon Bar-Lev to properly identify the kernel + source directory and kernel version. Incidentally, also stopped SLOTting + against the kernel version. The patch fixes bug #105233. + + No longer installs libdrm files, since the only parts of libdrm needed for + this package are the object files at compile time. Thanks to Alon Bar-Lev + for pointing out the conflict with modular x11-libs/libdrm. Fixes bug + #108504. *x11-drm-20050807 (08 Aug 2005) diff --git a/x11-base/x11-drm/Manifest b/x11-base/x11-drm/Manifest index 8a15bfdd5b12..5e389f3f2f7a 100644 --- a/x11-base/x11-drm/Manifest +++ b/x11-base/x11-drm/Manifest @@ -1,9 +1,11 @@ -MD5 db464f2b0cb7e18d6884de774640a2bc ChangeLog 17247 -MD5 782be9470cf76716a15aa5a70f4b8af7 metadata.xml 368 -MD5 c3e592197d4a01511080062a4eceb65c x11-drm-20050807.ebuild 6353 -MD5 1d3509bdfea18f00f6f8991b91368cbc x11-drm-20050502.ebuild 6072 -MD5 37fcf89b80fc0225568cfbbc32edf4b6 x11-drm-4.3.0-r7.ebuild 7014 +MD5 2b43ed47d80db73eb551ecb4797aade7 ChangeLog 17935 +MD5 528f707ef73b50376334dd2a7abbdb83 files/digest-x11-drm-20050502 162 MD5 05c0def6e3725175239b158187f61774 files/digest-x11-drm-20050807 162 +MD5 79ba7dd6f31beecd88dbf0836d41070e files/digest-x11-drm-20051028 162 MD5 db87006ec48bc9579dcdc989c5ed86d6 files/digest-x11-drm-4.3.0-r7 363 MD5 88b8c90e440b3db246a7d06cf53640ae files/modules.d-x11-drm 40 -MD5 528f707ef73b50376334dd2a7abbdb83 files/digest-x11-drm-20050502 162 +MD5 782be9470cf76716a15aa5a70f4b8af7 metadata.xml 368 +MD5 1d3509bdfea18f00f6f8991b91368cbc x11-drm-20050502.ebuild 6072 +MD5 321db74e1fc38cf0e3c05b3eabd5945d x11-drm-20050807.ebuild 6267 +MD5 c46fc2a208c1471042a0ae90914fdc55 x11-drm-20051028.ebuild 6333 +MD5 37fcf89b80fc0225568cfbbc32edf4b6 x11-drm-4.3.0-r7.ebuild 7014 diff --git a/x11-base/x11-drm/files/digest-x11-drm-20051028 b/x11-base/x11-drm/files/digest-x11-drm-20051028 new file mode 100644 index 000000000000..1b7e8708daa7 --- /dev/null +++ b/x11-base/x11-drm/files/digest-x11-drm-20051028 @@ -0,0 +1,2 @@ +MD5 59ddf9d87c298b2627291aac7733ddc7 linux-drm-20051028-kernelsource.tar.bz2 565711 +MD5 0831381f1bfccba6fc80e5c1551dafb8 x11-drm-20051028-gentoo-0.1.tar.bz2 2106 diff --git a/x11-base/x11-drm/x11-drm-20050807.ebuild b/x11-base/x11-drm/x11-drm-20050807.ebuild index 3771ac99470c..4fe63504558a 100644 --- a/x11-base/x11-drm/x11-drm-20050807.ebuild +++ b/x11-base/x11-drm/x11-drm-20050807.ebuild @@ -1,6 +1,6 @@ # 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-20050807.ebuild,v 1.1 2005/08/09 01:56:12 battousai Exp $ +# $Header: /var/cvsroot/gentoo-x86/x11-base/x11-drm/x11-drm-20050807.ebuild,v 1.2 2005/10/29 03:18:25 battousai Exp $ inherit eutils x11 linux-mod @@ -21,7 +21,7 @@ HOMEPAGE="http://dri.sf.net" SRC_URI="mirror://gentoo/${P}-gentoo-${PATCHVER}.tar.bz2 mirror://gentoo/linux-drm-${PV}-kernelsource.tar.bz2" -SLOT="${KV}" +SLOT="0" LICENSE="X11" KEYWORDS="~x86 ~alpha ~ia64 ~ppc ~amd64" @@ -80,7 +80,7 @@ src_unpack() { # Apply patches EPATCH_SUFFIX="patch" epatch ${PATCHDIR} - # Substitute new directory under /lib/modules/${KV} + # Substitute new directory under /lib/modules/${KV_FULL} cd ${SRC_BUILD} sed -ie "s:/kernel/drivers/char/drm:/${PN}:g" Makefile @@ -97,7 +97,7 @@ src_compile() { # This now uses an M= build system. Makefile does most of the work. unset ARCH make M="${SRC_BUILD}" \ - LINUXDIR="${ROOT}/usr/src/linux" \ + LINUXDIR="${KERNEL_DIR}" \ DRM_MODULES="${VIDCARDS}" \ modules || die_error @@ -115,8 +115,8 @@ src_compile() { 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." + make LINUXDIR="${KERNEL_DIR}" dristat || die "Building dristat failed." + make LINUXDIR="${KERNEL_DIR}" drmstat || die "Building drmstat failed." } src_install() { @@ -124,10 +124,10 @@ src_install() { cd ${SRC_BUILD} unset ARCH - make KV="${KV}" \ - LINUXDIR="${ROOT}/usr/src/linux" \ + make KV="${KV_FULL}" \ + LINUXDIR="${KERNEL_DIR}" \ DESTDIR="${D}" \ - RUNNING_REL="${KV}" \ + RUNNING_REL="${KV_FULL}" \ MODULE_LIST="${VIDCARDS} drm.${KV_OBJ}" \ install || die "Install failed." @@ -136,16 +136,13 @@ src_install() { dobin dristat dobin drmstat - cd ${S} - emake DESTDIR=${D} install || die "libdrm install failed." - # 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} + sed -i 's:%KV%:'${KV_FULL}':g' ${D}/etc/modules.d/${PN} } pkg_postinst() { diff --git a/x11-base/x11-drm/x11-drm-20051028.ebuild b/x11-base/x11-drm/x11-drm-20051028.ebuild new file mode 100644 index 000000000000..13ae9eb51453 --- /dev/null +++ b/x11-base/x11-drm/x11-drm-20051028.ebuild @@ -0,0 +1,233 @@ +# 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-20051028.ebuild,v 1.1 2005/10/29 03:18:25 battousai Exp $ + +inherit eutils x11 linux-mod + +IUSE="" +IUSE_VIDEO_CARDS="3dfx ffb i810 i830 i915 mach64 matrox nv 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="0" +LICENSE="X11" +KEYWORDS="~x86 ~alpha ~ia64 ~ppc ~amd64" + +DEPEND="virtual/x11 + >=sys-devel/automake-1.7 + >=sys-devel/autoconf-2.59 + >=sys-devel/libtool-1.5.14 + >=sys-devel/m4-1.4 + virtual/linux-sources + >=sys-apps/portage-2.0.49-r13" + +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_FULL} + cd ${SRC_BUILD} + sed -ie "s:/kernel/drivers/char/drm:/${PN}:g" Makefile + + cp ${S}/tests/*.c ${SRC_BUILD} + + cd ${S} + WANT_AUTOCONF="2.59" WANT_AUTOMAKE="1.7" autoreconf -v --install +} + +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="${KERNEL_DIR}" \ + 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} + econf || die "libdrm configure failed." + emake || die "libdrm build failed." + + 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="${KERNEL_DIR}" dristat || die "Building dristat failed." + make LINUXDIR="${KERNEL_DIR}" drmstat || die "Building drmstat failed." +} + +src_install() { + einfo "Installing DRM..." + cd ${SRC_BUILD} + + unset ARCH + make KV="${KV_FULL}" \ + LINUXDIR="${KERNEL_DIR}" \ + DESTDIR="${D}" \ + RUNNING_REL="${KV_FULL}" \ + MODULE_LIST="${VIDCARDS} drm.${KV_OBJ}" \ + install || die "Install failed." + + dodoc README.drm + + dobin dristat + dobin 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_FULL}':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_nv && \ + VIDCARDS="${VIDCARDS} nv.${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 +} |