summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWouter Deconinck <wdconinc@gmail.com>2024-08-19 01:07:56 -0500
committerGitHub <noreply@github.com>2024-08-19 08:07:56 +0200
commit20bf239a6acb9b17e0578bb8065a215ac7e4d7a8 (patch)
tree6c4ebfb91909a4a472d32b741ce781d8b6e22054
parentcd682613cfca8d39598383aece17afd565f33e70 (diff)
downloadspack-20bf239a6acb9b17e0578bb8065a215ac7e4d7a8.tar.gz
spack-20bf239a6acb9b17e0578bb8065a215ac7e4d7a8.tar.bz2
spack-20bf239a6acb9b17e0578bb8065a215ac7e4d7a8.tar.xz
spack-20bf239a6acb9b17e0578bb8065a215ac7e4d7a8.zip
xorg-server: add variants dri and glx (#45787)
Co-authored-by: wdconinc <wdconinc@users.noreply.github.com>
-rw-r--r--var/spack/repos/builtin/packages/xorg-server/package.py45
1 files changed, 32 insertions, 13 deletions
diff --git a/var/spack/repos/builtin/packages/xorg-server/package.py b/var/spack/repos/builtin/packages/xorg-server/package.py
index 7f423d44c0..55a7496827 100644
--- a/var/spack/repos/builtin/packages/xorg-server/package.py
+++ b/var/spack/repos/builtin/packages/xorg-server/package.py
@@ -16,9 +16,15 @@ class XorgServer(AutotoolsPackage, XorgPackage):
license("MIT")
version(
+ "1.18.99.902", sha256="fe5a312f7bdc6762c97f01b7a1d3c7a8691997255be6fbf7598c180abf384ea3"
+ )
+ version(
"1.18.99.901", sha256="c8425163b588de2ee7e5c8e65b0749f2710f55a7e02a8d1dc83b3630868ceb21"
)
+ variant("glx", default=True, description="Build GLX extension")
+ variant("dri", default=True, description="Build DRI, DRI2, DRI3 extensions")
+
# glibc stopped declaring major()/minor() macros in <sys/types.h>
# https://gitlab.freedesktop.org/xorg/xserver/-/commit/d732c36597fab2e9bc4f2aa72cf1110997697557
patch("sysmacros.patch", when="@:1.18 ^glibc@2.25:")
@@ -35,14 +41,17 @@ class XorgServer(AutotoolsPackage, XorgPackage):
depends_on("pixman@0.27.2:")
depends_on("font-util")
depends_on("libxshmfence@1.1:")
- depends_on("libdrm@2.3.0:")
+ depends_on("libdrm@2.3.0:", when="+dri")
depends_on("libx11")
- depends_on("gl")
+ depends_on("gl", when="+dri")
+ depends_on("gl", when="+glx")
- depends_on("dri2proto@2.8:", type="build")
- depends_on("dri3proto@1.0:", type="build")
- depends_on("glproto@1.4.17:", type="build")
+ depends_on("xf86driproto@2.1.0:", type="build", when="+dri")
+ depends_on("dri2proto@2.8:", type="build", when="+dri")
+ depends_on("dri3proto@1.0:", type="build", when="+dri")
+ depends_on("glproto@1.4.17:", type="build", when="+dri")
+ depends_on("glproto@1.4.17:", type="build", when="+glx")
depends_on("flex", type="build")
depends_on("bison", type="build")
@@ -66,8 +75,6 @@ class XorgServer(AutotoolsPackage, XorgPackage):
depends_on("recordproto@1.13.99.1:", type="build")
depends_on("scrnsaverproto@1.1:", type="build")
depends_on("resourceproto@1.2.0:", type="build")
- depends_on("xf86driproto@2.1.0:", type="build")
- depends_on("glproto@1.4.17:", type="build")
depends_on("presentproto@1.0:", type="build")
depends_on("xineramaproto", type="build")
depends_on("libxkbfile")
@@ -76,6 +83,7 @@ class XorgServer(AutotoolsPackage, XorgPackage):
depends_on("libxdamage")
depends_on("libxfixes")
depends_on("libepoxy")
+ depends_on("libpciaccess")
@when("@:1.19")
def setup_build_environment(self, env):
@@ -89,16 +97,27 @@ class XorgServer(AutotoolsPackage, XorgPackage):
def configure_args(self):
args = []
+ if self.spec.satisfies("+glx ^[virtuals=gl] osmesa"):
+ args.append("--enable-glx")
+ else:
+ args.append("--disable-glx")
+
+ if self.spec.satisfies("+dri"):
+ args.append("--disable-dri") # dri requires libdri, not libdrm
+ args.append("--enable-dri2")
+ args.append("--enable-dri3")
+ args.append("--enable-drm")
+ else:
+ args.append("--disable-dri")
+ args.append("--disable-dri2")
+ args.append("--disable-dri3")
+ args.append("--disable-drm")
+
if self.spec.satisfies("^[virtuals=gl] osmesa"):
args.append("--enable-glx")
else:
args.append("--disable-glx")
- args.extend(
- [
- "--disable-dri", # dri >= 7.8.0
- "--disable-glamor", # Glamor for Xorg requires gbm >= 10.2.0
- ]
- )
+ args.extend(["--disable-glamor"]) # Glamor for Xorg requires gbm >= 10.2.0
return args