summaryrefslogtreecommitdiff
path: root/packages/x11-dri/mesa/mesa.exlib
diff options
context:
space:
mode:
Diffstat (limited to 'packages/x11-dri/mesa/mesa.exlib')
-rw-r--r--packages/x11-dri/mesa/mesa.exlib515
1 files changed, 0 insertions, 515 deletions
diff --git a/packages/x11-dri/mesa/mesa.exlib b/packages/x11-dri/mesa/mesa.exlib
deleted file mode 100644
index 633ad30..0000000
--- a/packages/x11-dri/mesa/mesa.exlib
+++ /dev/null
@@ -1,515 +0,0 @@
-# Copyright 2008 Alexander Færøy <eroyf@eroyf.org>
-# Copyright 2008-2011 Ingmar Vanhassel <ingmar@exherbo.org>
-# Copyright 2013 Saleem Abdulrasool <compnerd@compnerd.org>
-# Distributed under the terms of the GNU General Public License v2
-# Based in part upon 'mesa-7.0.3.ebuild' which is:
-# Copyright 1999-2008 Gentoo Foundation
-
-if ever is_scm ; then
- SCM_REPOSITORY="https://anongit.freedesktop.org/git/${PN}/${PN}.git"
- require scm-git
-else
- MY_PV=${PV%%-rc*}
- DOWNLOADS="
- https://mesa.freedesktop.org/archive/${MY_PV}/${PNV}.tar.xz
- https://mesa.freedesktop.org/archive/${PNV}.tar.xz
- "
- UPSTREAM_RELEASE_NOTES="https://www.mesa3d.org/relnotes/${PV}.html"
-fi
-
-require alternatives toolchain-funcs
-require flag-o-matic
-require autotools [ supported_autoconf=[ 2.5 ] supported_automake=[ 1.16 1.15 ] ]
-
-export_exlib_phases src_configure src_install pkg_postinst
-
-OPENGL_DIR="xorg-x11"
-
-SUMMARY="Mesa's OpenGL library"
-HOMEPAGE="https://www.mesa3d.org"
-
-# Licences for parts we don't install:
-# GLUT: Mark Kilgard's copyright
-LICENCES="MIT"
-SLOT="0"
-MYOPTIONS="
- llvm [[ description = [ Using LLVM as the shader backend for Gallium ] ]]
- llvm-static [[ description = [ Link to LLVM statically ] requires = [ llvm ] ]]
- opencl [[ description = [ Enable the OpenCL Gallium state tracker ] requires = [ llvm ] ]]
- texture-float [[ description = [ Enable floating-point textures and renderbuffers. SGI claims to hold patents on this code. ] ]]
- va [[ description = [ Enable the VA-API state tracker ] ]]
- wayland
- X [[ description = [ Enable GLX ] presumed = true ]]
- xa [[ description = [ Enable the X Acceleration API (xatracker) ] ]]
- xvmc [[ description = [ Enable support for XvMC hardware accelerated video decoding ] ]]
- (
- platform:
- amd64
- x86
- video_drivers:
- (
- i915 [[ description = [ Gallium driver for i915 based Intel GPUs ] ]]
- intel [[ description = [ Driver for i915, i965 and newer ] ]]
- ) [[ number-selected = at-most-one ]]
- gallium-swrast [[ description = [ Gallium based software driver ] ]]
- (
- nouveau [[ description = [ (Gallium) Generally for newer Nvidia cards ] ]]
- nouveau-legacy [[ description = [ Generally for older Nvidia cards ] ]]
- ) [[ number-selected = at-most-one ]]
- (
- r300 [[ description = [ (Gallium) Driver for Radeon cards from 9500 (r300) to X1950 (r500) ] ]]
- radeon [[ description = [ (Gallium) Driver for the Radeon HD-2000 (r600) and newer ] ]]
- ) [[ requires = [ llvm video_drivers: gallium-swrast ] ]]
- radeon-legacy [[ description = [ Classic driver for cards older than the Radeon 9500 (r300) ] ]]
- virtio-gpu [[ description = [ Gallium driver for guest systems on hypervisors with VirtIO-GPU ] ]]
- vmware [[ description = [ Gallium driver for VMware's SVGA virtual GPU ] ]]
- )
- (
- platform:
- armv7
- video_drivers:
- (
- vc4 [[ description = [ Gallium driver for Raspberry Pi Videocore graphics ] ]]
- )
- )
- llvm? (
- ( video_drivers: gallium-swrast i915 nouveau r300 radeon ) [[ number-selected = at-least-one ]]
- )
- opencl? (
- ( video_drivers: nouveau radeon ) [[ number-selected = at-least-one ]]
- )
- vdpau? ( ( video_drivers: nouveau radeon ) [[ number-selected = at-least-one ]] )
- xa? ( ( video_drivers: i915 nouveau vmware radeon ) [[ number-selected = at-least-one ]] )
- xvmc? ( ( video_drivers: nouveau radeon ) [[ number-selected = at-least-one ]] )
-"
-
-if ever at_least 17.1.3; then
- MYOPTIONS+="
- vdpau [[ description = [ Enable support for VDPAU hardware accelerated video decoding ] requires = [ X ] ]]
- va? (
- ( X wayland ) [[ number-selected = at-least-one ]]
- )
- "
-else
- MYOPTIONS+="
- vdpau [[ description = [ Enable support for VDPAU hardware accelerated video decoding ] ]]
- "
-fi
-
-if ever at_least 13.0.0; then
- MYOPTIONS+="
- sensors [[ description = [ Gallium extra HUD and sensors support ] ]]
- sensors? ( ( video_drivers: nouveau radeon ) [[ number-selected = at-least-one ]] )
- "
-else
- MYOPTIONS+="
- ( providers: eudev systemd ) [[ number-selected = exactly-one ]]
- "
-fi
-
-if ever at_least 12.0.0-rc1; then
- MYOPTIONS+="
- gl-vendor [[
- description = [ Install a glvnd (gl vendor) file to allow for parallel install of multiple GL implementations ]
- ]]
- valgrind [[ description = [ Support valgrind intrinsics to suppress false warnings ] ]]
- "
-fi
-
-if ! ever at_least 17.1.3; then
- MYOPTIONS+="
- ( providers: gcrypt libressl nettle openssl ) [[ number-selected = exactly-one ]]
- "
-fi
-
-# these high versions are not required for every package but as long as we don't need to deal with different versions use the latest
-if ever at_least 17.3.7; then
- LIBDRM_REQUIRED='[>=2.4.91]'
-elif ever at_least 17.2.0; then
- LIBDRM_REQUIRED='[>=2.4.82]'
-elif ever at_least 17.1.3; then
- LIBDRM_REQUIRED='[>=2.4.80]'
-else
- LIBDRM_REQUIRED='[>=2.4.69]'
-fi
-
-
-DEPENDENCIES="
- build:
- dev-lang/python:2.7
- sys-devel/bison
- sys-devel/flex
- virtual/pkg-config[>=0.9.0]
- !x11-dri/eclectic-opengl
- llvm? (
- !llvm-static? ( dev-lang/llvm[>=3.7][-static] )
- llvm-static? ( dev-lang/llvm[>=3.7][static] )
- )
- opencl? (
- dev-lang/clang[>=3.4]
- )
- video_drivers:radeon? ( dev-lang/llvm[>=3.6.0] )
- X? ( x11-proto/xorgproto )
- build+run:
- dev-libs/expat
- x11-dri/libdrm${LIBDRM_REQUIRED}
- opencl? ( dev-libs/libclc )
- va? (
- x11-libs/libX11
- x11-libs/libva[>=1.6.0]
- x11-libs/libxcb${XCBDRI2_REQUIRED}
- )
- vdpau? (
- x11-libs/libX11
- x11-libs/libvdpau[>=1.1]
- x11-libs/libxcb${XCBDRI2_REQUIRED}
- )
- video_drivers:i915? ( x11-dri/libdrm[video_drivers:intel(+)] )
- video_drivers:intel? ( x11-dri/libdrm[video_drivers:intel(+)] )
- video_drivers:nouveau? ( x11-dri/libdrm[video_drivers:nouveau(-)] )
- video_drivers:nouveau-legacy? ( x11-dri/libdrm[video_drivers:nouveau(-)] )
- video_drivers:r300? ( x11-dri/libdrm[video_drivers:radeon(-)] )
- video_drivers:radeon? (
- dev-util/elfutils
- x11-dri/libdrm[video_drivers:radeon(-)]
- )
- video_drivers:radeon-legacy? ( x11-dri/libdrm[video_drivers:radeon(-)] )
- video_drivers:vc4? ( x11-dri/libdrm[video_drivers:vc4(-)] )
- video_drivers:vmware? ( x11-dri/libdrm[video_drivers:vmware(-)] )
- wayland? ( sys-libs/wayland[>=1.2.0] )
- X? (
- x11-libs/libICE
- x11-libs/libX11[xcb(+)]
- x11-libs/libXau
- x11-libs/libxcb[>=1.9.3]
- x11-libs/libXdamage[>=1.1.1]
- x11-libs/libXdmcp
- x11-libs/libXext
- x11-libs/libXfixes
- x11-libs/libxshmfence[>=1.1]
- x11-libs/libXxf86vm
- )
- xvmc? (
- x11-libs/libX11
- x11-libs/libXvMC[>=1.0.6]
- x11-libs/libxcb${XCBDRI2_REQUIRED}
- )
- run:
- llvm? (
- !llvm-static? ( dev-lang/llvm[>=3.7][-static] )
- )
- opencl? (
- dev-libs/ocl-icd
- )
- suggestion:
- x11-dri/mesa-demos
-"
-
-if ever at_least 13.0.0; then
- DEPENDENCIES+="
- build+run:
- sensors? (
- sys-apps/lm_sensors[>=3.4.0]
- [[ note = [ lm_sensors version in configure.ac is bogus ] ]]
- )
- "
-else
- DEPENDENCIES+="
- build:
- providers:eudev? ( sys-apps/eudev )
- providers:systemd? ( sys-apps/systemd[>=151] )
- "
-fi
-
-if ever at_least 12.0.0-rc1; then
- DEPENDENCIES+="
- build:
- gl-vendor? ( dev-libs/libglvnd )
- valgrind? ( dev-util/valgrind )
- "
-fi
-
-if ! ever at_least 17.1.3; then
- DEPENDENCIES+="
- build+run:
- providers:gcrypt? ( dev-libs/libgcrypt )
- providers:libressl? ( dev-libs/libressl:= )
- providers:nettle? ( dev-libs/nettle )
- providers:openssl? ( dev-libs/openssl )
- "
-fi
-
-if ever at_least 17.1.3; then
- DEPENDENCIES+="
- build:
- dev-libs/libpthread-stubs[>=0.4]
- gl-vendor? ( dev-libs/libglvnd[>=0.2.0] )
- video_drivers:radeon? ( dev-lang/llvm[>=3.9.0] )
- build+run:
- sys-libs/zlib[>=1.2.3]
- wayland? ( sys-libs/wayland[>=1.11] )
- "
-fi
-
-if ever at_least 17.2.0; then
- DEPENDENCIES+="
- build:
- dev-libs/libpthread-stubs[>=0.4]
- gl-vendor? ( dev-libs/libglvnd[>=0.2.0] )
- video_drivers:radeon? ( dev-lang/llvm[>=3.9.0] )
- build+run:
- sys-libs/zlib[>=1.2.3]
- wayland? (
- sys-libs/wayland[>=1.11]
- sys-libs/wayland-protocols[>=1.8.0]
- )
- "
-fi
-
-if ever at_least 17.3.3; then
- DEPENDENCIES+="
- build:
- opencl? ( dev-lang/llvm[>=3.9.0] )
- build+run:
- !media-libs/libtxc_dxtn [[
- description = [ mesa now bundles libtxc_dxtn ]
- resolution = uninstall-blocked-after
- ]]
- "
-fi
-
-if ever at_least 13.0.0; then
- DEPENDENCIES+="
- build:
- dev-python/Mako[>=0.8.0][python_abis:2.7]
- "
-else
- DEPENDENCIES+="
- build:
- dev-python/Mako[>=0.3.4][python_abis:2.7]
- "
-fi
-
-if ever is_scm; then
- DEPENDENCIES+="
- build+run:
- x11-apps/xrandr
- "
-fi
-
-
-DEFAULT_SRC_TEST_PARAMS=( PTHREAD_LIBS="-lpthread" )
-
-AT_M4DIR=( m4 )
-
-mesa_src_configure() {
- DRI_DRIVERS=( )
- EGL_PLATFORMS=( )
- GALLIUM_DRIVERS_NOSW=( )
- GALLIUM_DRIVERS=( )
- VULKAN_DRIVERS=( )
-
- option !video_drivers:gallium-swrast && DRI_DRIVERS+=( swrast )
- option video_drivers:intel && DRI_DRIVERS+=( i915 i965 )
- option video_drivers:nouveau-legacy && DRI_DRIVERS+=( nouveau )
- option video_drivers:radeon-legacy && DRI_DRIVERS+=( radeon r200 )
-
- # TODO: noop, swr, vc5, etnaviv, imx, pl111
- option video_drivers:i915 && GALLIUM_DRIVERS_NOSW+=( i915 )
- option video_drivers:nouveau && GALLIUM_DRIVERS_NOSW+=( nouveau )
- option video_drivers:r300 && GALLIUM_DRIVERS_NOSW+=( r300 )
- option video_drivers:radeon && GALLIUM_DRIVERS_NOSW+=( r600 radeonsi )
- option video_drivers:vc4 && GALLIUM_DRIVERS_NOSW+=( vc4 )
- option video_drivers:virtio-gpu && GALLIUM_DRIVERS_NOSW+=( virgl )
- option video_drivers:vmware && GALLIUM_DRIVERS_NOSW+=( svga )
-
- # TODO: gallium-swr
- GALLIUM_DRIVERS=( "${GALLIUM_DRIVERS_NOSW[@]}" )
- option video_drivers:gallium-swrast && GALLIUM_DRIVERS+=( swrast )
-
- option X && EGL_PLATFORMS+=( x11 )
- option wayland && EGL_PLATFORMS+=( wayland )
- EGL_PLATFORMS+=( drm surfaceless )
-
- option video_drivers:intel && VULKAN_DRIVERS+=( intel )
- option video_drivers:radeon && VULKAN_DRIVERS+=( radeon )
-
- local MESA_SRC_CONFIGURE_PARAMS
-
- # NOTE(compnerd) disable the assembly dispatching. The code is absolutely horrid, fragile, and
- # is disabled by other distributions as well (including Fedora and RHEL). It is also broken
- # with LTO, and is not intended to be fixed. https://bugs.freedesktop.org/show_bug.cgi?id=55080
- MESA_SRC_CONFIGURE_PARAMS+=(
- $(option llvm && echo --with-llvm-prefix=/usr/$(exhost --target))
- $($(option platform:x86 || option platform:amd64) && echo --disable-asm)
- --enable-osmesa # off-screen mesa
- )
-
- if [[ ${#DRI_DRIVERS[@]} -gt 0 ]]; then
- MESA_SRC_CONFIGURE_PARAMS+=( --with-dri-drivers=$(IFS=, ; echo "${DRI_DRIVERS[*]}") )
- else
- MESA_SRC_CONFIGURE_PARAMS+=( --without-dri-drivers )
- fi
-
- if [[ ${#GALLIUM_DRIVERS[*]} -gt 0 ]] ; then
- MESA_SRC_CONFIGURE_PARAMS+=( --with-gallium-drivers=$(IFS=, ; echo "${GALLIUM_DRIVERS[*]}") )
- else
- MESA_SRC_CONFIGURE_PARAMS+=( --without-gallium-drivers )
- fi
-
- if [[ ${#GALLIUM_DRIVERS_NOSW[*]} -gt 0 ]] ; then
- MESA_SRC_CONFIGURE_PARAMS+=( $(option video_drivers:gallium-swrast && echo "--enable-nine") )
- fi
-
- if ever at_least 12.0.0-rc1; then
- if [[ ${#VULKAN_DRIVERS[@]} -gt 0 ]]; then
- MESA_SRC_CONFIGURE_PARAMS+=( --with-vulkan-drivers=$(IFS=, ; echo "${VULKAN_DRIVERS[*]}") )
- else
- MESA_SRC_CONFIGURE_PARAMS+=( --without-vulkan-drivers )
- fi
- MESA_SRC_CONFIGURE_PARAMS+=( $(option_enable gl-vendor libglvnd) )
- fi
-
- # TODO gallium_tests
- # TODO state trackers: OpenMAX(omx), requires additional new dependency libomxil-bellagio
-
- MESA_SRC_CONFIGURE_PARAMS+=(
- --with-pic
- --enable-dri
- --enable-egl
- --enable-gbm
- --enable-gles1
- --enable-gles2
- --enable-shared-glapi
- --disable-glx-read-only-text
- $(option_enable !llvm-static llvm-shared-libs)
- $(option_enable opencl)
- $(option_enable opencl opencl-icd)
- $(option_enable texture-float)
- $(option_enable va)
- $(option_enable vdpau)
- $(option_enable X dri3)
- $(option_enable X glx)
- $(option_enable X glx-tls)
- $(option_enable xa)
- $(option_enable xvmc)
- )
-
- if ever at_least 17.3.4; then
- MESA_SRC_CONFIGURE_PARAMS+=(
- --enable-driglx-direct
- --disable-omx-bellagio
- )
- else
- MESA_SRC_CONFIGURE_PARAMS+=(
- --disable-omx
- )
- fi
-
- if ever at_least 12.0.0-rc1; then
- MESA_SRC_CONFIGURE_PARAMS+=( $(option_enable valgrind) )
- fi
-
- if ! ever at_least 12.0.2; then
- MESA_SRC_CONFIGURE_PARAMS+=(
- $(option_enable video_drivers:radeon r600-llvm-compiler)
- )
- fi
-
- if ever at_least 13.0.0; then
- MESA_SRC_CONFIGURE_PARAMS+=(
- $(option_enable sensors lmsensors)
- $(option_enable sensors gallium_extra_hud)
- )
- else
- MESA_SRC_CONFIGURE_PARASM+=(
- --disable-sysfs
- )
- fi
-
- if ever at_least 17.1.3; then
- MESA_SRC_CONFIGURE_PARAMS+=(
- --disable-libunwind
- --with-platforms=$(IFS=, ; echo "${EGL_PLATFORMS[*]}")
- --with-wayland-scanner-path=/usr/$(exhost --build)/bin/wayland-scanner
- $(option_enable llvm)
- )
- else
- MESA_SRC_CONFIGURE_PARAMS+=(
- --enable-shader-cache
- --with-egl-platforms=$(IFS=, ; echo "${EGL_PLATFORMS[*]}")
- $(option_enable llvm gallium-llvm)
- )
- if option providers:libressl || option providers:openssl; then
- MESA_SRC_CONFIGURE_PARAMS+=(
- --with-sha1=libcrypto
- )
- elif option providers:gcrypt; then
- MESA_SRC_CONFIGURE_PARAMS+=(
- --with-sha1=libgcrypt
- )
- elif option providers:nettle; then
- MESA_SRC_CONFIGURE_PARAMS+=(
- --with-sha1=libnettle
- )
- fi
- fi
-
- # Fix using the 32bit python while it isn't needed.
- # TODO: Something with python.exlib to require the neccessary modules to be built for the
- # selected python.
- #PYTHON2=/usr/bin/python2 \
- # TODO: check if something similar to the above might be necessary when cross-compiling
- # mesa. Obviously the path doesn't work on cross. (heirecka)
- econf "${MESA_SRC_CONFIGURE_PARAMS[@]}"
-}
-
-mesa_src_install() {
- dodir /usr
-
- local host=$(exhost --target)
- local X_alternatives=()
-
- default
-
- # alternatives
- local libs=(libEGL libGLESv1_CM libGLESv2)
- option X && libs+=(libGL)
-
- edo mkdir "${IMAGE}"/usr/${host}/lib/opengl/
-
- local lib path_old path_new soname
- for lib in "${libs[@]}"; do
- path_new=/usr/${host}/lib/opengl/${lib}-xorg.so
- path_old=$(readlink -f "${IMAGE}"/usr/${host}/lib/${lib}.so)
-
- edo mv \
- "${path_old}" \
- "${IMAGE}"/${path_new}
-
- local objdump=$(exhost --tool-prefix)objdump
- soname=$(edo ${objdump} -p "${IMAGE}"/${path_new} | sed -n 's/^ *SONAME *//p')
-
- # clean up the leftover symlinks
- edo rm "${IMAGE}"/usr/${host}/lib/{${lib}.so,${soname}}
-
- X_alternatives+=(
- /usr/${host}/lib/${lib}.so ${path_new}
- /usr/${host}/lib/${soname} ${path_new}
- )
- done
-
- alternatives_for opengl X.org 10 ${X_alternatives[@]}
-
- edo rm -rf "${IMAGE}"/usr/${host}/include/GL/{glew,glxew,wglew}.h
-}
-
-mesa_pkg_postinst() {
- # Clean up after old eclectic-opengl module
- if [[ -f ${ROOT}/etc/env.d/03opengl ]] ; then
- rm "${ROOT}/etc/env.d/03opengl" || ewarn "Remove /etc/env.d/03opengl manually"
- fi
-
- alternatives_pkg_postinst
-}
-