diff options
author | Wouter Deconinck <wdconinc@gmail.com> | 2024-08-19 01:07:56 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-08-19 08:07:56 +0200 |
commit | 20bf239a6acb9b17e0578bb8065a215ac7e4d7a8 (patch) | |
tree | 6c4ebfb91909a4a472d32b741ce781d8b6e22054 | |
parent | cd682613cfca8d39598383aece17afd565f33e70 (diff) | |
download | spack-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.py | 45 |
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 |