diff --git a/metadata/categories.conf b/metadata/categories.conf index 7ddd49e..ab14a32 100644 --- a/metadata/categories.conf +++ b/metadata/categories.conf @@ -2,3 +2,4 @@ dev-lang dev-libs sys-apps sys-libs +x11-dri diff --git a/packages/x11-dri/gallium/gallium-scm.exheres-0 b/packages/x11-dri/gallium/gallium-scm.exheres-0 new file mode 100644 index 0000000..75eb723 --- /dev/null +++ b/packages/x11-dri/gallium/gallium-scm.exheres-0 @@ -0,0 +1,57 @@ + +SCM_REPOSITORY="git://anongit.freedesktop.org/git/nouveau/mesa" +SCM_TYPE="git" +SCM_BRANCH="gallium-0.1" +require multilib scm toolchain-funcs + +SUMMARY="nouveau mesa driver" +DESCRIPTION="The nouveau driver for the mesa OpenGL implementation." +HOMEPAGE="http://nouveau.freedesktop.org/wiki/GalliumHowto" + +LICENCES="FIXME" +SLOT="0" +PLATFORMS="~amd64 ~x86" +MYOPTIONS="platform:amd64 platform:x86" + +DEPENDENCIES=" + build+run: + x11-dri/mesa +" + +get_target() { + option platform:amd64 && TARGET="linux-dri-x86-64" + option platform:x86 && TARGET="linux-dri-x86" + [[ -z "${TARGET}" ]] \ + && die "Sorry, I don't know how to build gallium for your platform." +} + +src_prepare() { + get_target + sed \ + -e '/^ARCH_FLAGS/s: = : = -DGLX_USE_TLS :' \ + -i "configs/${TARGET}" \ + || die "sed configs/${TARGET} failed" + sed \ + -e '/^OPT_FLAGS =/s:=.*:=:' \ + -e "/^CFLAGS = /s:= := ${CFLAGS} :" \ + -e "/^CXXFLAGS = /s:= := ${CXXFLAGS} :" \ + -i "configs/linux-dri" \ + || die "sed configs/linux-dri failed" +} + +src_compile() { + get_target + emake "${TARGET}" \ + CC=$(tc-getCC) \ + CXX=$(tc-getCXX) \ + || die "emake failed" +} + +src_install() { + bin/installmesa "${IMAGE}/usr/$(get_libdir)/opengl/gallium" \ + || die "bin/installmesa failed" + + cd "${IMAGE}/usr/$(get_libdir)/opengl/gallium" || die "cd failed" + mv include/{GL/*,} || die "mv failed" + rmdir include/GL || die "rmdir failed" +}