diff options
author | Bryan Stine <battousai@gentoo.org> | 2008-07-11 04:57:43 +0000 |
---|---|---|
committer | Bryan Stine <battousai@gentoo.org> | 2008-07-11 04:57:43 +0000 |
commit | 50eb21b4e049594acc749068c3ac3319b75dd33d (patch) | |
tree | 7582afaea1d58b2d6422bd04196a724bad96958b /x11-base | |
parent | Take up maintainership. (diff) | |
download | historical-50eb21b4e049594acc749068c3ac3319b75dd33d.tar.gz historical-50eb21b4e049594acc749068c3ac3319b75dd33d.tar.bz2 historical-50eb21b4e049594acc749068c3ac3319b75dd33d.zip |
Add 20080710 snapshot, masked, with XGI module and probably evil modprobe.d entry.
Package-Manager: portage-2.2_rc1/cvs/Linux 2.6.26-rc8 i686
Diffstat (limited to 'x11-base')
-rw-r--r-- | x11-base/x11-drm/ChangeLog | 9 | ||||
-rw-r--r-- | x11-base/x11-drm/Manifest | 5 | ||||
-rw-r--r-- | x11-base/x11-drm/x11-drm-20080710.ebuild | 334 |
3 files changed, 346 insertions, 2 deletions
diff --git a/x11-base/x11-drm/ChangeLog b/x11-base/x11-drm/ChangeLog index 1d8373a29d80..7dbcd5082685 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-2008 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/x11-base/x11-drm/ChangeLog,v 1.56 2008/07/11 02:51:08 battousai Exp $ +# $Header: /var/cvsroot/gentoo-x86/x11-base/x11-drm/ChangeLog,v 1.57 2008/07/11 04:57:43 battousai Exp $ + +*x11-drm-20080710 (11 Jul 2008) + + 11 Jul 2008; Bryan Stine <battousai@gentoo.org> +x11-drm-20080710.ebuild: + Introduce 20080710 snapshot. Now includes modprobe.d entry, which needs + testing and/or comments, and an added XGI module. This is masked until I'm + happy with the modprobe.d config. 11 Jul 2008; Bryan Stine <battousai@gentoo.org> -x11-drm-20051223.ebuild, x11-drm-20060608-r1.ebuild, x11-drm-20070314.ebuild, diff --git a/x11-base/x11-drm/Manifest b/x11-base/x11-drm/Manifest index 92c348d386f5..08dfb7323be8 100644 --- a/x11-base/x11-drm/Manifest +++ b/x11-base/x11-drm/Manifest @@ -2,12 +2,15 @@ AUX modules.d-x11-drm 40 RMD160 7bdcba81be1a55311e31ec4ef88dc9c1b7ec85c8 SHA1 1e DIST linux-drm-20060608-kernelsource.tar.bz2 568004 RMD160 253608313539a651ad6724bcb67b5f4ab28eaf4f SHA1 466c1410c05f715286cf44437c1946cdaacf2cde SHA256 5f2346f3eba114c4d5655325f3fd51e0b74f6f627bf0c4e435103c8972f52731 DIST linux-drm-20070314-kernelsource.tar.bz2 424009 RMD160 649e007221b1a92e6604695f9467e065bc90e6b8 SHA1 b8d8c12affaa85d8e9eb025bc3a5516afaf53719 SHA256 ff9b834426fdbcee24991c42acef823c8beab6c15baec0c39e66a5acb790fd69 DIST linux-drm-20071019-kernelsource.tar.bz2 487002 RMD160 501cba11044cda6cd88e6183ec68b2669ea1d558 SHA1 4afbac5b18be2671e3d422e5996f8fcf5516c072 SHA256 28c8fb25351cc05733c5aed5128e034009d2094681f9b4df6387c0c29a2803a9 +DIST linux-drm-20080710-kernelsource.tar.bz2 566434 RMD160 6c84c435da347c30fbffdbaa1daed580ac9b160d SHA1 66c0375ece91cd557fb1309eccaee7ef195f0b91 SHA256 65f0378c35b6cbf83c463f203f544ff0643690f17d6e537646eab52f3ec03f58 DIST x11-drm-20060608-gentoo-0.3.tar.bz2 3684 RMD160 ce8b7816048143bf7bf79f755a0380dadb47e1b4 SHA1 33e8bf92569dcf8a61661f9d324211b2746b1c02 SHA256 e39fc9e7dbffdb125afd2d94e5d329ab7d723ad883a23cbd3fa02122622a26dd DIST x11-drm-20070314-gentoo-0.1.tar.bz2 980 RMD160 af1d8089b70c62d0c650b25eab0a1bc129c48a7b SHA1 9e1ebfd78d926bf0b299bae6a2088b6e996597f8 SHA256 8e17b5580993e0e42ab76a347ed6edcb561beb9f69ea4baed744add18a0a14f2 DIST x11-drm-20071019-gentoo-0.2.tar.bz2 1680 RMD160 8f2c615500cfeeb4ae71147207d62a1b2de6a76b SHA1 97b1b27daff91e8c7849f831024494c6d73a4482 SHA256 da2c20faa9c9d8dd9583737d8526052c0cefce8bfe97d80a2d43ba245ddfabb3 +DIST x11-drm-20080710-gentoo-0.1.tar.bz2 1552 RMD160 8de03f86edb7b213f0b137e9c08166972f78b225 SHA1 4179a8d66463cdc93625c8a7c73aa12c2fe87c29 SHA256 2af2e2b94423e118582b68d8a0387c9a2f82bef006a5aa5e9ad287f029a11b85 EBUILD x11-drm-20060608-r1.ebuild 8281 RMD160 fa7894bfcb294d3e549ce959c4c50a4ea4bec0e0 SHA1 94c43dcb0d8daf5d327c3a3a2630daddecab0f88 SHA256 d51be111dfc27161d2b96256816c546f527eb90c5bce44b8ebe0c4f64c707f58 EBUILD x11-drm-20060608.ebuild 6170 RMD160 38b75375805fe021b262d32e2a58f715185346d2 SHA1 2f7f5a521361fea5cf7f45e0f7428675ff260aea SHA256 56c5badbb9fc41b82fb36886ea9da14c40c475509cf607e9eda6dd5ad060c0f7 EBUILD x11-drm-20070314.ebuild 8073 RMD160 40c043601087dabf1086fc636fe87c440d4a6be3 SHA1 99d070795ee42a4760b34e358884b96fc6ad3063 SHA256 994817ee4a0314da2fe34889c65e7296ad2aa99246e5249378383fbf63df557f EBUILD x11-drm-20071019.ebuild 8053 RMD160 d92e9b127aa857942da6f92c63a22d1107cf0cc0 SHA1 ebdffea34f43d3b7297f7a2f44965c48cc0345e9 SHA256 5ba21236646e0ffe14e721ef7f90ede73b48d811f50fb31a27aeb45ebb641e7e -MISC ChangeLog 24247 RMD160 780dda6798bfa40c6c557304facb9c70677f1b0f SHA1 5b38ce0c58f0e9559be90445a3386224abdb9a05 SHA256 8af93c0ae30629a4e848a95b881d6eef7b1ffc8aa20644c469f04c77badc5b1c +EBUILD x11-drm-20080710.ebuild 7895 RMD160 60df58d0c24c9178221d469bcd062578e93a2be9 SHA1 24a9cd45f61cba5d767b65bbf6cbb65057bc9e5c SHA256 665d1a52bbc1248f3fae08daddb65a362e5e7c7c9693954b4696ef57c28d05d9 +MISC ChangeLog 24544 RMD160 349a9e19c3345ebd3fe996ec8ade083a6fa2dfcc SHA1 17ee8a96a94bf3e31d8b0073f16547c12c4f0802 SHA256 f999dc75e7c1a7300982d66a687357462d2527bf965f929611107f72fdb0ec51 MISC metadata.xml 368 RMD160 cbe279aeafeae0af3633fbd1ecaa59d2f54579b8 SHA1 5104adf2f1ebe1ddffe4ca95e7b5e5f06267f842 SHA256 e73a5c428f39881de8ae5acf40958e8ad37a5fe92c2bb8cc4060704c9be45ef1 diff --git a/x11-base/x11-drm/x11-drm-20080710.ebuild b/x11-base/x11-drm/x11-drm-20080710.ebuild new file mode 100644 index 000000000000..ecc6584b02c5 --- /dev/null +++ b/x11-base/x11-drm/x11-drm-20080710.ebuild @@ -0,0 +1,334 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/x11-base/x11-drm/x11-drm-20080710.ebuild,v 1.1 2008/07/11 04:57:43 battousai Exp $ + +WANT_AUTOCONF="latest" +WANT_AUTOMAKE="1.7" + +inherit eutils x11 linux-mod autotools + +IUSE_VIDEO_CARDS=" + video_cards_i810 + video_cards_mach64 + video_cards_mga + video_cards_nv + video_cards_r128 + video_cards_radeon + video_cards_savage + video_cards_sis + video_cards_sunffb + video_cards_tdfx + video_cards_via + video_cards_xgi" +IUSE="${IUSE_VIDEO_CARDS} kernel_FreeBSD kernel_linux" + +# 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="strip" + +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="~alpha ~amd64 ~ia64 ~ppc ~x86 ~x86-fbsd" + +DEPEND="kernel_linux? ( virtual/linux-sources ) + kernel_FreeBSD? ( sys-freebsd/freebsd-sources + sys-freebsd/freebsd-mk-defs )" +RDEPEND="" + +pkg_setup() { + # Setup the kernel's stuff. + kernel_setup + + # Set video cards to build for. + set_vidcards + + # Determine which -core dir we build in. + get_drm_build_dir + + return 0 +} + +src_unpack() { + unpack linux-drm-${PV}-kernelsource.tar.bz2 + unpack ${P}-gentoo-${PATCHVER}.tar.bz2 + + 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}" + + src_unpack_os + + cd "${S}" + eautoreconf -v --install +} + +src_compile() { + # Building the programs. These are useful for developers and getting info from DRI and DRM. + # + # libdrm objects are needed for drmstat. + econf || die "libdrm configure failed." + emake || die "libdrm build failed." + + einfo "Building DRM in ${SRC_BUILD}..." + src_compile_os + einfo "DRM build finished". +} + +src_install() { + einfo "Installing DRM..." + cd "${SRC_BUILD}" + + src_install_os + + dodoc "${S}/linux-core/README.drm" + + dobin dristat + dobin drmstat +} + +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.freedesktop.org/wiki/ATIMach64." + fi + + pkg_postinst_os +} + +# Functions used above are defined below: + +kernel_setup() { + if use kernel_FreeBSD + then + K_RV=${CHOST/*-freebsd/} + elif use kernel_linux + then + linux-mod_pkg_setup + + if kernel_is 2 4 + then + eerror "Upstream support for 2.4 kernels has been removed, so this package will no" + eerror "longer support them." + die "Please use in-kernel DRM or switch to a 2.6 kernel." + fi + + linux_chkconfig_builtin "DRM" && \ + die "Please disable or modularize DRM in the kernel config. (CONFIG_DRM = n or m)" + + CONFIG_CHECK="AGP" + ERROR_AGP="AGP support is not enabled in your kernel config (CONFIG_AGP)" + fi +} + +set_vidcards() { + if use kernel_linux; then + set_kvobj + I810_VIDCARDS="i810.${KV_OBJ} i915.${KV_OBJ}" + elif use kernel_FreeBSD; then + KV_OBJ="ko" + # bsd does not have i810, only i915: + I810_VIDCARDS="i915.${KV_OBJ}" + fi + + VIDCARDS="" + + if [[ -n "${VIDEO_CARDS}" ]]; then + use video_cards_i810 && \ + VIDCARDS="${VIDCARDS} ${I810_VIDCARDS}" + use video_cards_mach64 && \ + VIDCARDS="${VIDCARDS} mach64.${KV_OBJ}" + use video_cards_mga && \ + VIDCARDS="${VIDCARDS} mga.${KV_OBJ}" + use video_cards_nv && \ + VIDCARDS="${VIDCARDS} nv.${KV_OBJ} nouveau.${KV_OBJ}" + use video_cards_r128 && \ + VIDCARDS="${VIDCARDS} r128.${KV_OBJ}" + use video_cards_radeon && \ + VIDCARDS="${VIDCARDS} radeon.${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_sunffb && \ + VIDCARDS="${VIDCARDS} ffb.${KV_OBJ}" + use video_cards_tdfx && \ + VIDCARDS="${VIDCARDS} tdfx.${KV_OBJ}" + use video_cards_xgi && \ + VIDCARDS="${VIDCARDS} xgi.${KV_OBJ}" + fi +} + +get_drm_build_dir() { + if use kernel_FreeBSD + then + SRC_BUILD="${S}/bsd-core" + elif kernel_is 2 6 + then + SRC_BUILD="${S}/linux-core" + fi +} + +patch_prepare() { + # Handle exclusions based on the following... + # All trees (0**), Standard only (1**), Others (none right now) + # 2.4 vs. 2.6 kernels + if use kernel_linux + then + kernel_is 2 6 && mv -f "${PATCHDIR}"/*kernel-2.4* "${EXCLUDED}" + fi + + # There is only one tree being maintained now. No numeric exclusions need + # to be done based on DRM tree. +} + +src_unpack_freebsd() { + # Do FreeBSD stuff. + if use kernel_FreeBSD + then + # Link in freebsd kernel. + ln -s "/usr/src/sys-${K_RV}" "${WORKDIR}/sys" + # SUBDIR variable gets to all Makefiles, we need it only in the main one. + SUBDIRS=${VIDCARDS//.ko} + sed -ie "s:SUBDIR\ =.*:SUBDIR\ =\ drm ${SUBDIRS}:" "${SRC_BUILD}"/Makefile + fi +} + +src_unpack_os() { + if use kernel_FreeBSD + then + src_unpack_freebsd + fi +} + +src_compile_os() { + if use kernel_linux + then + src_compile_linux + elif use kernel_FreeBSD + then + src_compile_freebsd + fi +} + +src_install_os() { + if use kernel_linux + then + src_install_linux + elif use kernel_FreeBSD + then + src_install_freebsd + fi +} + +src_compile_linux() { + # This now uses an M= build system. Makefile does most of the work. + cd "${SRC_BUILD}" + unset ARCH + emake M="${SRC_BUILD}" \ + LINUXDIR="${KERNEL_DIR}" \ + DRM_MODULES="${VIDCARDS}" \ + modules || die_error + + if linux_chkconfig_present DRM + then + echo "Please disable in-kernel DRM support to use this package." + fi + + # LINUXDIR is needed to allow Makefiles to find kernel release. + cd "${SRC_BUILD}" + emake LINUXDIR="${KERNEL_DIR}" dristat || die "Building dristat failed." + emake LINUXDIR="${KERNEL_DIR}" drmstat || die "Building drmstat failed." +} + +src_compile_freebsd() { + cd "${SRC_BUILD}" + # Environment CFLAGS overwrite kernel CFLAGS which is bad. + local svcflags=${CFLAGS}; local svldflags=${LDFLAGS} + unset CFLAGS; unset LDFLAGS + MAKE=make \ + emake \ + NO_WERROR= \ + SYSDIR="${WORKDIR}/sys" \ + KMODDIR="/boot/modules" \ + || die "pmake failed." + export CFLAGS=${svcflags}; export LDFLAGS=${svldflags} + + cd "${S}/tests" + # -D_POSIX_SOURCE skips the definition of several stuff we need + # for these two to compile + sed -i -e "s/-D_POSIX_SOURCE//" Makefile + emake dristat || die "Building dristat failed." + emake drmstat || die "Building drmstat failed." + # Move these where the linux stuff expects them + mv dristat drmstat "${SRC_BUILD}" +} + +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." + eerror "Only 2.6 kernels at least as new as 2.6.6 are supported." + die "Unable to build DRM modules." +} + +src_install_linux() { + cd "${SRC_BUILD}" + unset ARCH + kernel_is 2 6 && DRM_KMOD="drm.${KV_OBJ}" + emake KV="${KV_FULL}" \ + LINUXDIR="${KERNEL_DIR}" \ + DESTDIR="${D}" \ + RUNNING_REL="${KV_FULL}" \ + MODULE_LIST="${VIDCARDS} ${DRM_KMOD}" \ + O="${KBUILD_OUTPUT}" \ + install || die "Install failed." + + # Strip binaries, leaving /lib/modules untouched (bug #24415) + strip_bins \/lib\/modules +} + +src_install_freebsd() { + cd "${SRC_BUILD}" + dodir "/boot/modules" + MAKE=make \ + emake \ + install \ + NO_WERROR= \ + DESTDIR="${D}" \ + KMODDIR="/boot/modules" \ + || die "Install failed." +} + +pkg_postinst_os() { + if use kernel_linux + then + linux-mod_pkg_postinst + fi +} |