linamh/attachment.cgi?id=179399
geos_one ae634a9a52 add x11-drm
git-svn-id: https://svn.disconnected-by-peer.at/svn/linamh/trunk/linamh@719 6952d904-891a-0410-993b-d76249ca496b
2009-01-27 19:41:08 +00:00

244 lines
7.8 KiB
Plaintext

From cb52f7f18f0b5934a7a68c103934d3b817738435 Mon Sep 17 00:00:00 2001
From: root <root@ramuh.(none)>
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