From 072d1311c0c896060c23de05c506c778a1ce9f9b Mon Sep 17 00:00:00 2001 From: Daniel Mierswa Date: Sun, 28 Dec 2008 21:28:13 +0100 Subject: [PATCH] revert gallium $PN to mesa mesa is needed because of dependency resolution of other packages also some fixups in .pc and .la files --- packages/x11-dri/exlibs/gallium.exlib | 10 + packages/x11-dri/gallium1/files/glu.pc | 11 - packages/x11-dri/gallium1/files/libGL.la | 32 --- packages/x11-dri/gallium1/files/libGLU.la | 32 --- .../x11-dri/gallium1/gallium1-scm.exheres-0 | 13 -- packages/x11-dri/gallium2/files/gl.pc | 11 - .../x11-dri/gallium2/gallium2-scm.exheres-0 | 22 -- .../files/do_not_support_fortran.patch | 0 .../files/do_not_use_bitmask.patch | 0 .../x11-dri/{gallium2 => mesa}/files/dri.pc | 4 +- .../x11-dri/{gallium1 => mesa}/files/gl.pc | 2 +- .../x11-dri/{gallium2 => mesa}/files/glu.pc | 2 +- .../x11-dri/{gallium2 => mesa}/files/libGL.la | 4 +- .../{gallium2 => mesa}/files/libGLU.la | 4 +- .../files/dri.pc => mesa/files/sed0YZPh4} | 0 packages/x11-dri/mesa/mesa-scm.exheres-0 | 31 +++ packages/x11-dri/mesa/mesa.exlib | 197 ++++++++++++++++++ 17 files changed, 246 insertions(+), 129 deletions(-) delete mode 100644 packages/x11-dri/gallium1/files/glu.pc delete mode 100644 packages/x11-dri/gallium1/files/libGL.la delete mode 100644 packages/x11-dri/gallium1/files/libGLU.la delete mode 100644 packages/x11-dri/gallium1/gallium1-scm.exheres-0 delete mode 100644 packages/x11-dri/gallium2/files/gl.pc delete mode 100644 packages/x11-dri/gallium2/gallium2-scm.exheres-0 rename packages/x11-dri/{gallium2 => mesa}/files/do_not_support_fortran.patch (100%) rename packages/x11-dri/{gallium2 => mesa}/files/do_not_use_bitmask.patch (100%) rename packages/x11-dri/{gallium2 => mesa}/files/dri.pc (73%) rename packages/x11-dri/{gallium1 => mesa}/files/gl.pc (89%) rename packages/x11-dri/{gallium2 => mesa}/files/glu.pc (88%) rename packages/x11-dri/{gallium2 => mesa}/files/libGL.la (83%) rename packages/x11-dri/{gallium2 => mesa}/files/libGLU.la (83%) rename packages/x11-dri/{gallium1/files/dri.pc => mesa/files/sed0YZPh4} (100%) create mode 100644 packages/x11-dri/mesa/mesa-scm.exheres-0 create mode 100644 packages/x11-dri/mesa/mesa.exlib diff --git a/packages/x11-dri/exlibs/gallium.exlib b/packages/x11-dri/exlibs/gallium.exlib index 8f436ab..b408d82 100644 --- a/packages/x11-dri/exlibs/gallium.exlib +++ b/packages/x11-dri/exlibs/gallium.exlib @@ -175,9 +175,19 @@ src_install() { insinto "/usr/$(get_libdir)/dri" doins "${WORK}/$(get_libdir)/"*_dri.so + sed \ + -e "s#__libdir__#$(get_libdir)#" \ + -i "${FILES}/"*.pc \ + || die "sed *.pc failed" + insinto "/usr/$(get_libdir)/pkgconfig" doins "${FILES}/"*.pc + sed \ + -e "s#__libdir__#$(get_libdir)#" \ + -i "${FILES}/"*.la \ + || die "sed *.la failed" + insinto "/usr/$(get_libdir)" doins "${FILES}/"*.la diff --git a/packages/x11-dri/gallium1/files/glu.pc b/packages/x11-dri/gallium1/files/glu.pc deleted file mode 100644 index 0536226..0000000 --- a/packages/x11-dri/gallium1/files/glu.pc +++ /dev/null @@ -1,11 +0,0 @@ -prefix=/usr -exec_prefix=${prefix} -libdir=/usr/lib64 -includedir=/usr/include - -Name: glu -Description: Mesa OpenGL Utility library -Requires: gl -Version: 7.2.0 -Libs: -L${libdir} -lGLU -Cflags: -I${includedir} diff --git a/packages/x11-dri/gallium1/files/libGL.la b/packages/x11-dri/gallium1/files/libGL.la deleted file mode 100644 index cc2fd24..0000000 --- a/packages/x11-dri/gallium1/files/libGL.la +++ /dev/null @@ -1,32 +0,0 @@ -# libGL.la - a libtool library file -# Generated by ltmain.sh - GNU libtool 1.4 (1.920 2001/04/24 23:26:18) -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='libGL.so.1' - -# Names of this library. -library_names='libGL.so.1.2 libGL.so.1 libGL.so' - -# The name of the static archive. -old_library='' - -# Libraries that this one depends upon. -dependency_libs=' -L/usr/${libdir} -lSM -lICE -lXmu -lXt -lXext -lXi -lX11 -ldl -lpthread ' - -# Version information for libGL. -current=3 -age=2 -revision=0 - -# Is this an already installed library? -installed=yes - -# Files to dlopen/dlpreopen -dlopen='' -dlpreopen='' - -# Directory that this library needs to be installed in: -libdir='/usr/${libdir}' diff --git a/packages/x11-dri/gallium1/files/libGLU.la b/packages/x11-dri/gallium1/files/libGLU.la deleted file mode 100644 index cc76b4b..0000000 --- a/packages/x11-dri/gallium1/files/libGLU.la +++ /dev/null @@ -1,32 +0,0 @@ -# libGLU.la - a libtool library file -# Generated by ltmain.sh - GNU libtool 1.4 (1.920 2001/04/24 23:26:18) -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='libGLU.so.1' - -# Names of this library. -library_names='libGLU.so.1.3 libGLU.so.1 libGLU.so' - -# The name of the static archive. -old_library='' - -# Libraries that this one depends upon. -dependency_libs=' -L/usr/lib -lGL -lSM -lICE -lXmu -lXt -lXext -lXi -lX11 -ldl -lpthread ' - -# Version information for libGLU. -current=4 -age=3 -revision=0 - -# Is this an already installed library? -installed=yes - -# Files to dlopen/dlpreopen -dlopen='' -dlpreopen='' - -# Directory that this library needs to be installed in: -libdir='/usr/lib' diff --git a/packages/x11-dri/gallium1/gallium1-scm.exheres-0 b/packages/x11-dri/gallium1/gallium1-scm.exheres-0 deleted file mode 100644 index c8e3774..0000000 --- a/packages/x11-dri/gallium1/gallium1-scm.exheres-0 +++ /dev/null @@ -1,13 +0,0 @@ -# Copyright (c) 2008 Daniel Mierswa -# Distributed under the terms of the GNU General Public License v2 - -SCM_REPOSITORY="git://anongit.freedesktop.org/git/nouveau/mesa" -SCM_BRANCH="gallium-0.1" - -require gallium - -PLATFORMS="~amd64" - -DEPENDENCIES=" - build+run: - !x11-dri/gallium2" diff --git a/packages/x11-dri/gallium2/files/gl.pc b/packages/x11-dri/gallium2/files/gl.pc deleted file mode 100644 index 3e2ac12..0000000 --- a/packages/x11-dri/gallium2/files/gl.pc +++ /dev/null @@ -1,11 +0,0 @@ -prefix=/usr -exec_prefix=${prefix} -libdir=/usr/lib64 -includedir=/usr/include - -Name: gl -Description: Mesa OpenGL library -Requires: libdrm >= 2.3.1 -Version: 7.2.0 -Libs: -L${libdir} -lGL -Cflags: -I${includedir} diff --git a/packages/x11-dri/gallium2/gallium2-scm.exheres-0 b/packages/x11-dri/gallium2/gallium2-scm.exheres-0 deleted file mode 100644 index edef889..0000000 --- a/packages/x11-dri/gallium2/gallium2-scm.exheres-0 +++ /dev/null @@ -1,22 +0,0 @@ -# Copyright (c) 2008 Daniel Mierswa -# Distributed under the terms of the GNU General Public License v2 - -SCM_REPOSITORY="git://anongit.freedesktop.org/git/nouveau/mesa" -SCM_BRANCH="gallium-0.2" - -require gallium - -PLATFORMS="~amd64" - -DEPENDENCIES=" - build+run: - !x11-dri/gallium1 - build: - gallium2? ( x11-proto/dri2proto )" - -DEFAULT_SRC_PREPARE_PATCHES+=( - # http://cgit.freedesktop.org/xorg/proto/dri2proto/commit/?id=65c7097d549ada25d11738b15996b18c9e57a847 - "${FILES}/do_not_use_bitmask.patch" - # i don't know how to do that, yet - "${FILES}/do_not_support_fortran.patch" -) diff --git a/packages/x11-dri/gallium2/files/do_not_support_fortran.patch b/packages/x11-dri/mesa/files/do_not_support_fortran.patch similarity index 100% rename from packages/x11-dri/gallium2/files/do_not_support_fortran.patch rename to packages/x11-dri/mesa/files/do_not_support_fortran.patch diff --git a/packages/x11-dri/gallium2/files/do_not_use_bitmask.patch b/packages/x11-dri/mesa/files/do_not_use_bitmask.patch similarity index 100% rename from packages/x11-dri/gallium2/files/do_not_use_bitmask.patch rename to packages/x11-dri/mesa/files/do_not_use_bitmask.patch diff --git a/packages/x11-dri/gallium2/files/dri.pc b/packages/x11-dri/mesa/files/dri.pc similarity index 73% rename from packages/x11-dri/gallium2/files/dri.pc rename to packages/x11-dri/mesa/files/dri.pc index cfd224b..4efbd47 100644 --- a/packages/x11-dri/gallium2/files/dri.pc +++ b/packages/x11-dri/mesa/files/dri.pc @@ -1,8 +1,8 @@ prefix=/usr exec_prefix=${prefix} -libdir=/usr/lib64 +libdir=/usr/__libdir__ includedir=/usr/include -dridriverdir=/usr/lib64/dri +dridriverdir=/usr/__libdir__/dri Name: dri Description: Direct Rendering Infrastructure diff --git a/packages/x11-dri/gallium1/files/gl.pc b/packages/x11-dri/mesa/files/gl.pc similarity index 89% rename from packages/x11-dri/gallium1/files/gl.pc rename to packages/x11-dri/mesa/files/gl.pc index 3e2ac12..9c83e74 100644 --- a/packages/x11-dri/gallium1/files/gl.pc +++ b/packages/x11-dri/mesa/files/gl.pc @@ -1,6 +1,6 @@ prefix=/usr exec_prefix=${prefix} -libdir=/usr/lib64 +libdir=/usr/__libdir__ includedir=/usr/include Name: gl diff --git a/packages/x11-dri/gallium2/files/glu.pc b/packages/x11-dri/mesa/files/glu.pc similarity index 88% rename from packages/x11-dri/gallium2/files/glu.pc rename to packages/x11-dri/mesa/files/glu.pc index 0536226..31e05ef 100644 --- a/packages/x11-dri/gallium2/files/glu.pc +++ b/packages/x11-dri/mesa/files/glu.pc @@ -1,6 +1,6 @@ prefix=/usr exec_prefix=${prefix} -libdir=/usr/lib64 +libdir=/usr/__libdir__ includedir=/usr/include Name: glu diff --git a/packages/x11-dri/gallium2/files/libGL.la b/packages/x11-dri/mesa/files/libGL.la similarity index 83% rename from packages/x11-dri/gallium2/files/libGL.la rename to packages/x11-dri/mesa/files/libGL.la index cc2fd24..3bb7b00 100644 --- a/packages/x11-dri/gallium2/files/libGL.la +++ b/packages/x11-dri/mesa/files/libGL.la @@ -14,7 +14,7 @@ library_names='libGL.so.1.2 libGL.so.1 libGL.so' old_library='' # Libraries that this one depends upon. -dependency_libs=' -L/usr/${libdir} -lSM -lICE -lXmu -lXt -lXext -lXi -lX11 -ldl -lpthread ' +dependency_libs=' -L/usr/__libdir__ -lSM -lICE -lXmu -lXt -lXext -lXi -lX11 -ldl -lpthread ' # Version information for libGL. current=3 @@ -29,4 +29,4 @@ dlopen='' dlpreopen='' # Directory that this library needs to be installed in: -libdir='/usr/${libdir}' +libdir='/usr/__libdir__' diff --git a/packages/x11-dri/gallium2/files/libGLU.la b/packages/x11-dri/mesa/files/libGLU.la similarity index 83% rename from packages/x11-dri/gallium2/files/libGLU.la rename to packages/x11-dri/mesa/files/libGLU.la index cc76b4b..40624e4 100644 --- a/packages/x11-dri/gallium2/files/libGLU.la +++ b/packages/x11-dri/mesa/files/libGLU.la @@ -14,7 +14,7 @@ library_names='libGLU.so.1.3 libGLU.so.1 libGLU.so' old_library='' # Libraries that this one depends upon. -dependency_libs=' -L/usr/lib -lGL -lSM -lICE -lXmu -lXt -lXext -lXi -lX11 -ldl -lpthread ' +dependency_libs=' -L/usr/__libdir__ -lGL -lSM -lICE -lXmu -lXt -lXext -lXi -lX11 -ldl -lpthread ' # Version information for libGLU. current=4 @@ -29,4 +29,4 @@ dlopen='' dlpreopen='' # Directory that this library needs to be installed in: -libdir='/usr/lib' +libdir='/usr/__libdir__' diff --git a/packages/x11-dri/gallium1/files/dri.pc b/packages/x11-dri/mesa/files/sed0YZPh4 similarity index 100% rename from packages/x11-dri/gallium1/files/dri.pc rename to packages/x11-dri/mesa/files/sed0YZPh4 diff --git a/packages/x11-dri/mesa/mesa-scm.exheres-0 b/packages/x11-dri/mesa/mesa-scm.exheres-0 new file mode 100644 index 0000000..4b80f6e --- /dev/null +++ b/packages/x11-dri/mesa/mesa-scm.exheres-0 @@ -0,0 +1,31 @@ +# Copyright (c) 2008 Daniel Mierswa +# Distributed under the terms of the GNU General Public License v2 + +require mesa + +PLATFORMS="~amd64" +MYOPTIONS="gallium1 gallium2" +DEPENDENCIES=" + build+run: + !x11-dri/gallium1 + build: + gallium2? ( x11-proto/dri2proto )" + + +src_unpack() { + SCM_CHECKOUT_TO="${FETCHEDDIR}/scm/${PN}_gallium" + SCM_REPOSITORY="git://anongit.freedesktop.org/git/nouveau/mesa" + option gallium1 && SCM_BRANCH="gallium-0.1" + option gallium2 && SCM_BRANCH="gallium-0.2" + + if option gallium2 ; then + DEFAULT_SRC_PREPARE_PATCHES+=( + # http://cgit.freedesktop.org/xorg/proto/dri2proto/commit/?id=65c7097d549ada25d11738b15996b18c9e57a847 + "${FILES}/do_not_use_bitmask.patch" + # i don't know how to do that, yet + "${FILES}/do_not_support_fortran.patch" + ) + fi + + scm_src_unpack +} diff --git a/packages/x11-dri/mesa/mesa.exlib b/packages/x11-dri/mesa/mesa.exlib new file mode 100644 index 0000000..f10e4ae --- /dev/null +++ b/packages/x11-dri/mesa/mesa.exlib @@ -0,0 +1,197 @@ +# Copyright (c) 2008 Daniel Mierswa +# Distributed under the terms of the GNU General Public License v2 + +SCM_REPOSITORY="${SCM_REPOSITORY:=git://anongit.freedesktop.org/mesa/mesa}" +OPENGL_DIR="${OPENGL_DIR:=xorg-x11}" + +export_exlib_phases src_prepare src_install + +require flag-o-matic multilib versionator scm-git + +SUMMARY="Mesa's OpenGL library" +HOMEPAGE="http://mesa3d.sourceforge.net/" + +LICENCES="FIXME" +SLOT="0" + +video_drivers="intel mach64 mga nouveau r128 radeon s3virge savage sis sunffb tdfx trident via" + +MYOPTIONS=" + examples motif python xcb + platform: + x86 amd64 + video_drivers: + ${video_drivers}" + +DEPENDENCIES=" + build: + dev-util/pkg-config + x11-proto/glproto + x11-proto/inputproto + x11-proto/xextproto + x11-proto/xf86driproto + x11-proto/xf86vidmodeproto + x11-utils/makedepend + build+run: + x11-dri/eclectic-opengl + >=x11-dri/libdrm-2.3.1 + x11-libs/libICE + x11-libs/libX11[xcb?] + >=x11-libs/libXdamage-1.1.1 + x11-libs/libXext + x11-libs/libXi + x11-libs/libXmu + x11-libs/libXxf86vm + xcb? ( x11-libs/libxcb ) + run: + python? ( dev-lang/python ) +" + +determine_target() { + TARGET= + option platform:amd64 && TARGET="linux-dri-x86-64" + option platform:x86 && TARGET="linux-dri-x86" + + [[ -z "${TARGET}" ]] \ + && die "I don't know how to build mesa for your platform." +} + +driver_enable() { + option ${1} && shift && DRI_DRIVERS="${DRI_DRIVERS} $@" +} + +add_config() { + echo ${@} >> "configs/${TARGET}" || die "echo >> configs/${TARGET} failed" +} + +mesa_src_prepare() { + default + + determine_target + rm -f "${WORK}"/include/GL/glut*h + + driver_enable video_drivers:intel i810,i915,i965 + driver_enable video_drivers:mach64 mach64 + driver_enable video_drivers:mga mga + driver_enable video_drivers:nouveau nouveau + driver_enable video_drivers:r128 r128 + driver_enable video_drivers:radeon radeon,r200,r300 + driver_enable video_drivers:s3virge s3v + driver_enable video_drivers:savage savage + driver_enable video_drivers:sis sis + driver_enable video_drivers:sunffb ffb + driver_enable video_drivers:tdfx tdfx + driver_enable video_drivers:trident trident + driver_enable video_drivers:via unichrome + + find src/mesa/drivers/dri -name *.[hc] -exec egrep -l "\#define\W+DO_DEBUG\W+1" {} \; | \ + xargs sed -i -re "s/\#define\W+DO_DEBUG\W+1/\#define DO_DEBUG 0/" ; + + sed \ + -e "/^LIB_DIR = /s:lib:$(get_libdir):" \ + -e '/^SRC_DIRS = /s:glut/glx::' \ + -e '/^INSTALL_DIR = /s:/usr/local:/usr:' \ + -e '/^DRI_DRIVER_INSTALL_DIR = /s:lib:$(LIB_DIR):' \ + -i configs/default \ + || die "sed configs/default failed" + + if ! option examples ; then + sed \ + -e '/^PROGRAM_DIRS = /s:demos redbook samples glsl::' \ + -i configs/default \ + || die "sed configs/default failed (examples)" + fi + + if option motif ; then + add_config 'GLW_LIB_DEPS += -lXm' + add_config 'GLW_SOURCES += GLwMDrawA.c' + fi + + if option xcb ; then + add_config 'DEFINES += -DUSE_XCB' + for pkg in xcb x11-xcb xcb-glx ; do + add_config "X11_INCLUDES += $(pkg-config --cflags-only-I ${pkg})" + add_config "GL_LIB_DEPS += $(pkg-config --libs ${pkg})" + done + fi + + add_config "EXTRA_LIB_PATH = $(pkg-config --libs-only-L x11)" + add_config 'ARCH_FLAGS += -DGLX_USE_TLS' + add_config "CFLAGS += ${CFLAGS}" + add_config "CXXFLAGS += ${CXXFLAGS}" + add_config "DRI_DIRS = ${DRI_DRIVERS} ${ADDITIONAL_DRIVERS} swrast" + + emake "${TARGET}" \ + OPT_FLAGS="" \ + CC=$(tc-getCC) \ + CXX=$(tc-getCXX) +} + +image_mv() { + mv ${@} || die "mv ${1} failed" +} + +image_rm() { + rm ${@} || die "rm ${1} failed" +} + +mesa_src_install() { + local lib_path="/usr/$(get_libdir)" + local opengl_path="${lib_path}/opengl/${OPENGL_DIR}" + + bin/installmesa "${IMAGE}/tmp" || die "bin/installmesa failed" + cd "${IMAGE}" || die "cd ${IMAGE} failed" + + for bin in $(find "${WORK}/progs" -type f -perm -u=x) ; do + dobin "${bin}" + done + + image_rm usr/bin/glslnoise.c + + if ! option python ; then + image_rm usr/bin/api_speed.py + else + sed \ + -e 's:env python2:env python:' \ + -i usr/bin/api_speed.py \ + || die "sed usr/bin/api_speed.py failed" + fi + + dodir "${lib_path}" + dodir "${opengl_path}/"{lib,include} + dodir /usr/include + + # move opengl libs/includes into our eclectic path + image_mv tmp/lib/libGL.so* "./${opengl_path}/lib" + image_mv tmp/include/GL/gl{,x}{,ext}.h "./${opengl_path}/include" + + # move the rest of the libs and includes into system paths + image_mv tmp/include/* ./usr/include + image_mv tmp/lib/* "./${lib_path}" + + # cleanup + image_rm tmp -rf + + insinto /usr/include/GL + doins -r "${WORK}/include/GL/internal" + image_rm ./usr/include/GL/internal/glcore.h + + insinto "${lib_path}/dri" + doins "${WORK}/$(get_libdir)/"*_dri.so + + insinto "${lib_path}/pkgconfig" + doins "${FILES}/"*.pc + sed \ + -e "s#__libdir__#$(get_libdir)#" \ + -i "./${lib_path}/pkgconfig/"*.pc \ + || die "sed *.pc failed" + + insinto "${lib_path}" + doins "${FILES}/"*.la + sed \ + -e "s#__libdir__#$(get_libdir)#" \ + -i "./${lib_path}/"*.la \ + || die "sed *.la failed" + + image_mv "./${lib_path}/libGL.la" "./${opengl_path}/lib" +}