summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--x11-apps/mesa-progs/Manifest1
-rw-r--r--x11-apps/mesa-progs/files/9.0.0-Disable-things-we-don-t-want.patch215
-rw-r--r--x11-apps/mesa-progs/mesa-progs-9.0.0.ebuild93
3 files changed, 309 insertions, 0 deletions
diff --git a/x11-apps/mesa-progs/Manifest b/x11-apps/mesa-progs/Manifest
index b2cdeecce696..0bb6b296cda9 100644
--- a/x11-apps/mesa-progs/Manifest
+++ b/x11-apps/mesa-progs/Manifest
@@ -1 +1,2 @@
DIST mesa-demos-8.5.0.tar.bz2 10367517 BLAKE2B 60e9edfcfe6d28f73964b81ae4e016fdbeb45d9d6d91de71bf736c86fa6181749f2e12729c8c716f6e6f5d4e39075de131877d1f09c3e511a4338b0f44ddb6a6 SHA512 df6a7f09638ca389d6e8bc569e599dcc59c9aa280bcfb95976d83e5cd3edfe74bb3a31f0953956dc16faa540ee5b09990e3377e1341d836fc527e50ace6e60b8
+DIST mesa-demos-9.0.0.tar.xz 14839368 BLAKE2B 426211886344e88616670f0da8c71385e0ab86fd7dab60c7a477b165f33d2f7bd5fd9297f1f67c78e60fed5c98ab8851c1bd4ae92a6b0b486fd158196b109eb0 SHA512 af33ef72a521416e39d93370b2b4ccb768f08084c9e4c0aa62868210d9465c858e5cb8e5d23952295a3073946f609eb8723ee60b39dd9fb6696c4e45aafbb2c1
diff --git a/x11-apps/mesa-progs/files/9.0.0-Disable-things-we-don-t-want.patch b/x11-apps/mesa-progs/files/9.0.0-Disable-things-we-don-t-want.patch
new file mode 100644
index 000000000000..b2374db36ba4
--- /dev/null
+++ b/x11-apps/mesa-progs/files/9.0.0-Disable-things-we-don-t-want.patch
@@ -0,0 +1,215 @@
+From 4fa5131036f8db3186a9f7a9cce74261411c4ed9 Mon Sep 17 00:00:00 2001
+From: Matt Turner <mattst88@gmail.com>
+Date: Thu, 18 Apr 2024 13:24:18 -0400
+Subject: [PATCH] Disable things we don't want
+
+---
+ meson.build | 3 ++-
+ src/egl/opengl/meson.build | 28 ---------------------------
+ src/egl/opengles2/meson.build | 5 -----
+ src/meson.build | 2 --
+ src/util/gl_wrap.h | 2 --
+ src/util/meson.build | 7 +------
+ src/xdemos/meson.build | 36 -----------------------------------
+ 7 files changed, 3 insertions(+), 80 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index c1853f94..5424dc73 100644
+--- a/meson.build
++++ b/meson.build
+@@ -52,7 +52,7 @@ dep_drm = dependency('libdrm',
+ required : get_option('libdrm'),
+ disabler : true
+ )
+-dep_x11 = dependency('x11, xext',
++dep_x11 = dependency('x11',
+ required : get_option('x11'),
+ disabler : true
+ )
+@@ -97,6 +97,7 @@ if not dep_glu.found() and host_machine.system() != 'darwin'
+ dep_glu = cc.find_library(_glu_name, has_headers: 'GL/glu.h',
+ required : dep_x11.found())
+ endif
++dep_glu = disabler()
+
+ dep_glx = dependency('glx', required: false, disabler : true)
+ if not dep_glx.found() and host_machine.system() == 'darwin'
+diff --git a/src/egl/opengl/meson.build b/src/egl/opengl/meson.build
+index a613eb43..cc481bee 100644
+--- a/src/egl/opengl/meson.build
++++ b/src/egl/opengl/meson.build
+@@ -25,21 +25,6 @@ executable(
+ dependencies: [_deps, dep_glu, idep_eglut_x11],
+ install: true
+ )
+-executable(
+- 'egltri_x11', files('egltri.c'),
+- dependencies: [_deps, dep_glu, idep_eglut_x11],
+- install: true
+-)
+-executable(
+- 'xeglgears', files('xeglgears.c'),
+- dependencies: [_deps, dep_glu, dep_egl, dep_x11],
+- install: true
+-)
+-executable(
+- 'xeglthreads', files('xeglthreads.c'),
+- dependencies: [_deps, dep_x11],
+- install: true
+-)
+
+ executable(
+ 'eglgears_wayland', files('eglgears.c'),
+@@ -52,22 +37,9 @@ executable(
+ install: true
+ )
+
+-executable(
+- 'eglkms', 'eglkms.c',
+- dependencies: [_deps, dep_drm, dep_gbm, dep_egl],
+- install: true
+-)
+-
+ executable(
+ 'eglinfo', 'eglinfo.c',
+ dependencies: [dep_egl, idep_glad, idep_util],
+ include_directories: [inc_glad],
+ install: true
+ )
+-
+-executable(
+- 'peglgears', 'peglgears.c',
+- dependencies: [dep_gl, dep_glu, dep_egl, dep_m, idep_util],
+- install: true
+-)
+-
+diff --git a/src/egl/opengles2/meson.build b/src/egl/opengles2/meson.build
+index da083cf2..59b35d66 100644
+--- a/src/egl/opengles2/meson.build
++++ b/src/egl/opengles2/meson.build
+@@ -29,11 +29,6 @@ executable(
+ dependencies: [dep_gles2, idep_eglut_x11, idep_util],
+ install: true
+ )
+-executable(
+- 'es2tri', files('es2tri.c'),
+- dependencies: [_deps_x11, dep_m],
+- install: true
+-)
+ executable(
+ 'es2gears_wayland', files('es2gears.c'),
+ dependencies: [dep_gles2, idep_eglut_wayland, idep_util],
+diff --git a/src/meson.build b/src/meson.build
+index fd4a1673..cea622a6 100644
+--- a/src/meson.build
++++ b/src/meson.build
+@@ -57,5 +57,3 @@ endif
+ if host_machine.system() == 'windows'
+ subdir('wgl')
+ endif
+-
+-subdir('data')
+diff --git a/src/util/gl_wrap.h b/src/util/gl_wrap.h
+index b2ff9c8f..f482df5e 100644
+--- a/src/util/gl_wrap.h
++++ b/src/util/gl_wrap.h
+@@ -7,10 +7,8 @@
+
+ #ifdef __APPLE__
+ # include <OpenGL/gl.h>
+-# include <OpenGL/glu.h>
+ #else
+ # include <GL/gl.h>
+-# include <GL/glu.h>
+ #endif
+
+ #ifndef GLAPIENTRY
+diff --git a/src/util/meson.build b/src/util/meson.build
+index b4fe614f..e56b456e 100644
+--- a/src/util/meson.build
++++ b/src/util/meson.build
+@@ -22,17 +22,12 @@ inc_util = include_directories('.')
+
+ files_libutil = files(
+ 'glinfo_common.c',
+- 'readtex.c',
+ 'showbuffer.c',
+ 'trackball.c',
+ 'matrix.c',
+ )
+
+-_deps = [dep_glu, dep_m]
+-if dep_glut.found()
+- files_libutil += files('shaderutil.c')
+- _deps += dep_glut
+-endif
++_deps = [dep_m]
+
+ _libutil = static_library(
+ 'util',
+diff --git a/src/xdemos/meson.build b/src/xdemos/meson.build
+index a569fde5..40007616 100644
+--- a/src/xdemos/meson.build
++++ b/src/xdemos/meson.build
+@@ -21,25 +21,7 @@
+ glx_deps = [dep_gl, dep_glx, dep_x11, dep_m]
+
+ progs = [
+- 'glsync',
+- 'glxdemo',
+ 'glxgears',
+- 'glxgears_pixmap',
+- 'glxcontexts',
+- 'glxheads',
+- 'glxpixmap',
+- 'glxpbdemo',
+- 'glxsnoop',
+- 'glxswapcontrol',
+- 'manywin',
+- 'multictx',
+- 'offset',
+- 'overlay',
+- 'shape',
+- 'sharedtex',
+- 'texture_from_pixmap',
+- 'wincopy',
+- 'xfont',
+ ]
+ foreach p : progs
+ executable(
+@@ -56,23 +38,7 @@ executable(
+ install: true
+ )
+
+-executable(
+- 'xrotfontdemo',
+- files('xrotfontdemo.c', 'xuserotfont.c'),
+- dependencies: glx_deps,
+- install: true
+-)
+-
+-_libpbutil = static_library(
+- 'pbutil',
+- files('pbutil.c'),
+- dependencies: glx_deps
+-)
+-
+ pbutil_progs = [
+- 'glxgears_fbconfig',
+- 'pbinfo',
+- 'pbdemo',
+ ]
+ foreach p : pbutil_progs
+ executable(
+@@ -84,8 +50,6 @@ foreach p : pbutil_progs
+ endforeach
+
+ thread_progs = [
+- 'glthreads',
+- 'sharedtex_mt',
+ ]
+ foreach p : thread_progs
+ executable(
+--
+2.43.2
+
diff --git a/x11-apps/mesa-progs/mesa-progs-9.0.0.ebuild b/x11-apps/mesa-progs/mesa-progs-9.0.0.ebuild
new file mode 100644
index 000000000000..d8e4f5ca1891
--- /dev/null
+++ b/x11-apps/mesa-progs/mesa-progs-9.0.0.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson-multilib
+
+MY_PN="${PN/progs/demos}"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Mesa's OpenGL utility and demo programs (glxgears and glxinfo)"
+HOMEPAGE="https://www.mesa3d.org/ https://mesa.freedesktop.org/ https://gitlab.freedesktop.org/mesa/demos"
+if [[ ${PV} = 9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/demos.git"
+else
+ SRC_URI="https://mesa.freedesktop.org/archive/demos/${MY_P}.tar.xz
+ https://mesa.freedesktop.org/archive/demos/${PV}/${MY_P}.tar.xz"
+ KEYWORDS="~amd64"
+ S="${WORKDIR}/${MY_P}"
+fi
+LICENSE="LGPL-2"
+SLOT="0"
+IUSE="gles2 vulkan wayland X"
+
+RDEPEND="
+ media-libs/libglvnd[${MULTILIB_USEDEP},X?]
+ vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] )
+ wayland? (
+ dev-libs/wayland[${MULTILIB_USEDEP}]
+ gui-libs/libdecor[${MULTILIB_USEDEP}]
+ x11-libs/libxkbcommon[${MULTILIB_USEDEP}]
+ )
+ X? (
+ x11-libs/libX11[${MULTILIB_USEDEP}]
+ vulkan? (
+ x11-libs/libxcb:=[${MULTILIB_USEDEP}]
+ x11-libs/libxkbcommon[${MULTILIB_USEDEP}]
+ )
+ )
+"
+DEPEND="${RDEPEND}
+ wayland? ( >=dev-libs/wayland-protocols-1.12 )
+ X? ( x11-base/xorg-proto )
+"
+BDEPEND="
+ virtual/pkgconfig
+ vulkan? ( dev-util/glslang )
+ wayland? ( dev-util/wayland-scanner )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PV}-Disable-things-we-don-t-want.patch
+)
+
+pkg_setup() {
+ MULTILIB_CHOST_TOOLS+=(
+ /usr/bin/eglinfo
+ )
+
+ use X && MULTILIB_CHOST_TOOLS+=(
+ /usr/bin/glxgears
+ /usr/bin/glxinfo
+ )
+
+ use gles2 && use X && MULTILIB_CHOST_TOOLS+=(
+ /usr/bin/es2_info
+ /usr/bin/es2gears_x11
+ )
+
+ use gles2 && use wayland && MULTILIB_CHOST_TOOLS+=(
+ /usr/bin/es2gears_wayland
+ )
+
+ use vulkan && MULTILIB_CHOST_TOOLS+=(
+ /usr/bin/vkgears
+ )
+}
+
+multilib_src_configure() {
+ local emesonargs=(
+ -Dlibdrm=disabled
+ -Degl=enabled
+ -Dgles1=disabled
+ $(meson_feature gles2)
+ -Dglut=disabled
+ -Dosmesa=disabled
+ $(meson_feature vulkan)
+ $(meson_feature wayland)
+ $(meson_feature X x11)
+ )
+ meson_src_configure
+}