From cb52f7f18f0b5934a7a68c103934d3b817738435 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 22 Jan 2009 19:23:40 -0500 Subject: [PATCH] Various fixes for x11-drm, addition of x11-apps/drm-progs Upstream x11-drm has moved dristat/drmstat out of the linux-core Makefile. This prompted the removal of the last useful bits of the Makefile patch in our patchball. There are now no patches required to build these modules in a portage environment, so the patchball is empty currently. As such, the logicused to apply the patches has been changed. It now conditionally specifies a SRC_URI only if PATCHVER is non-null, and will obviously not attempt to apply patches if PATCHVER is null. On a related note, the dristat and drmstat programs are no longer installed by this package. They have been added as a separate package in this commit. A minor fix to the MODULESD_... variables was made. It must strip the .${KV_OBJ} from the module names, of course. A new package, x11-apps/drm-progs, has been added. This contains the dristat and drmstat programs mentioned above, as well as a couple of modesetting tools. --- x11-apps/drm-progs/Manifest | 2 + x11-apps/drm-progs/drm-progs-99999999.ebuild | 48 ++++++++++++++++++ x11-base/x11-drm/Manifest | 3 +- x11-base/x11-drm/x11-drm-99999999.ebuild | 70 +++++++------------------- 4 files changed, 69 insertions(+), 54 deletions(-) create mode 100644 x11-apps/drm-progs/Manifest create mode 100644 x11-apps/drm-progs/drm-progs-99999999.ebuild diff --git a/x11-apps/drm-progs/Manifest b/x11-apps/drm-progs/Manifest new file mode 100644 index 0000000..9d976da --- /dev/null +++ b/x11-apps/drm-progs/Manifest @@ -0,0 +1,2 @@ +DIST drm-progs-99999999-use-system-libdrm.patch.bz2 1932 RMD160 521c875b29902cc58e0e36e539c16df7f938f6dc SHA1 b9327b1d3e657dbdb9e22378f5be92f5afc64498 SHA256 e1bb96ae5df54b39c9494af265a3a5d58f36c44b8036033344b41de8e3966dda +EBUILD drm-progs-99999999.ebuild 991 RMD160 9352e60b491f22c8a80fa58f510f13720115b5d9 SHA1 b8d0c70b0277b8df50a5da22dc60df644840fd9a SHA256 755456929fc86f7ac8ee52ec4991d0fbb22a22cdc67dbc645893f5b60bbddfe0 diff --git a/x11-apps/drm-progs/drm-progs-99999999.ebuild b/x11-apps/drm-progs/drm-progs-99999999.ebuild new file mode 100644 index 0000000..6ccd8bf --- /dev/null +++ b/x11-apps/drm-progs/drm-progs-99999999.ebuild @@ -0,0 +1,48 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EGIT_REPO_URI="git://anongit.freedesktop.org/git/mesa/drm" + +inherit eutils autotools git + +DESCRIPTION="X11 DRM utilities and test programs" +HOMEPAGE="http://dri.freedesktop.org/wiki/" +SRC_URI="http://dev.gentoo.org/~battousai/distfiles/${P}-use-system-libdrm.patch.bz2" + +LICENSE="X11" +SLOT="0" + +# Keywords inherited from x11-drm ebuild, where these used to be. +KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~x86 ~x86-fbsd" + +IUSE="" + +DEPEND="x11-libs/libdrm" +RDEPEND="${DEPEND}" + +#S="${WORKDIR}/${P}" + +src_unpack() { + git_src_unpack + + cd "${WORKDIR}" + unpack ${P}-use-system-libdrm.patch.bz2 + + cd "${S}" + epatch "${WORKDIR}"/${P}-use-system-libdrm.patch + + eautoreconf -v --install +} + +src_compile() { + econf || die "econf failed" + + cd "${S}"/tests + emake || die "emake failed" +} + +src_install() { + cd "${S}"/tests + dobin dristat drmstat modeprint/modeprint modetest/modetest || die +} diff --git a/x11-base/x11-drm/Manifest b/x11-base/x11-drm/Manifest index 1b43af9..4e50a07 100644 --- a/x11-base/x11-drm/Manifest +++ b/x11-base/x11-drm/Manifest @@ -1,2 +1 @@ -DIST x11-drm-99999999-gentoo-0.2.tar.bz2 719 RMD160 e0a192afe05a3fccc48666e217bf35272085f1c8 SHA1 66ad6b116d95fee65603bbb33935639b7f664251 SHA256 3bdd5c05077b360095709c61b2346989afa1c217996f4e0854f1c8838021c8c0 -EBUILD x11-drm-99999999.ebuild 7832 RMD160 1f522702f2e5413030529f71779c073e6bbcdcf2 SHA1 17053ea999a60c2c49e27e56631e80523b7e4be9 SHA256 d4dbfe1c2dfdb649575b27543fb1afaf03435d1c2edfa2ad3dfdee4036835090 +EBUILD x11-drm-99999999.ebuild 6852 RMD160 8e3fbc5b82fa5dc2a5e4d532ab3a71f8ac8f847a SHA1 f281b1b8120526899fe098ae9fa3db5570078686 SHA256 4f1f65c210e0d49f9c9abe177f5204c40a03ffd4de09c1ae67ead50e4f5a3975 diff --git a/x11-base/x11-drm/x11-drm-99999999.ebuild b/x11-base/x11-drm/x11-drm-99999999.ebuild index be5c1d4..9d37468 100644 --- a/x11-base/x11-drm/x11-drm-99999999.ebuild +++ b/x11-base/x11-drm/x11-drm-99999999.ebuild @@ -1,14 +1,11 @@ -# Copyright 1999-2007 Gentoo Foundation +# Copyright 1999-2009 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/x11-base/x11-drm/x11-drm-20070314.ebuild,v 1.2 2007/03/14 18:18:53 battousai Exp $ -WANT_AUTOCONF="latest" -WANT_AUTOMAKE="1.7" - #EGIT_BRANCH="vblank-rework" EGIT_REPO_URI="git://anongit.freedesktop.org/git/mesa/drm" -inherit eutils x11 linux-mod autotools git +inherit eutils x11 linux-mod git IUSE_VIDEO_CARDS=" video_cards_mach64 @@ -28,13 +25,17 @@ IUSE="${IUSE_VIDEO_CARDS} kernel_FreeBSD kernel_linux" RESTRICT="strip" S="${WORKDIR}/drm" -PATCHVER="0.2" +#PATCHVER="0.1" PATCHDIR="${WORKDIR}/patch" EXCLUDED="${WORKDIR}/excluded" DESCRIPTION="DRM Kernel Modules for X11" HOMEPAGE="http://dri.sf.net" -SRC_URI="http://dev.gentoo.org/~dberkholz/distfiles/${P}-gentoo-${PATCHVER}.tar.bz2" +if [ -n "${PATCHVER}" ] ; then + SRC_URI="http://dev.gentoo.org/~dberkholz/distfiles/${P}-gentoo-${PATCHVER}.tar.bz2" +else + SRC_URI="" +fi SLOT="0" LICENSE="X11" @@ -62,40 +63,22 @@ src_unpack() { git_src_unpack cd "${WORKDIR}" - unpack ${P}-gentoo-${PATCHVER}.tar.bz2 - - cd "${S}" - - patch_prepare - - # Apply patches - EPATCH_SUFFIX="patch" epatch ${PATCHDIR} + # Apply patches if there's a patchball version number provided. + if [ -n "${PATCHVER}" ] + then + unpack ${P}-gentoo-${PATCHVER}.tar.bz2 + cd "${S}" - # Substitute new directory under /lib/modules/${KV_FULL} - cd "${SRC_BUILD}" - sed -i -e "s:/kernel/drivers/char/drm:/${PN}:g" Makefile + patch_prepare - cp "${S}"/tests/*.c ${SRC_BUILD} + # Apply patches + EPATCH_SUFFIX="patch" epatch ${PATCHDIR} + fi src_unpack_os - - cd "${S}" - eautoreconf -v --install } src_compile() { - unset LDFLAGS - - cd "${S}" - # Building the programs. These are useful for developers and getting info from DRI and DRM. - # - # libdrm objects are needed for drmstat. - econf \ - --enable-static \ - --disable-shared \ - || die "libdrm configure failed." - emake || die "libdrm build failed." - einfo "Building DRM in ${SRC_BUILD}..." src_compile_os einfo "DRM build finished". @@ -108,9 +91,6 @@ src_install() { src_install_os dodoc "${S}/linux-core/README.drm" - - dobin dristat - dobin drmstat } pkg_postinst() { @@ -256,7 +236,7 @@ src_compile_linux() { MODULE_NAMES="" for i in drm.${KV_OBJ} ${VIDCARDS}; do MODULE_NAMES="${MODULE_NAMES} ${i/.${KV_OBJ}}(${PN}:${SRC_BUILD})" - i=$(echo ${i} | tr '[:lower:]' '[:upper:]') + i=$(echo ${i/.${KV_OBJ}} | tr '[:lower:]' '[:upper:]') eval MODULESD_${i}_ENABLED="yes" done @@ -271,11 +251,6 @@ src_compile_linux() { then ewarn "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() { @@ -290,15 +265,6 @@ src_compile_freebsd() { 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() { -- 1.6.1