summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWouter Deconinck <wdconinc@gmail.com>2024-10-13 09:10:06 -0500
committerGitHub <noreply@github.com>2024-10-13 16:10:06 +0200
commitbbfad7e979088f0f6a13d71884ec7de9e8f531db (patch)
treee6e578f0d562565146e90c61fb37b8156fd12e13
parent3a9963b497e0e512b4bc045566f3f3e3eea20149 (diff)
downloadspack-bbfad7e979088f0f6a13d71884ec7de9e8f531db.tar.gz
spack-bbfad7e979088f0f6a13d71884ec7de9e8f531db.tar.bz2
spack-bbfad7e979088f0f6a13d71884ec7de9e8f531db.tar.xz
spack-bbfad7e979088f0f6a13d71884ec7de9e8f531db.zip
libepoxy: add v1.5.10 (switch to meson) (#46938)
-rw-r--r--var/spack/repos/builtin/packages/libepoxy/package.py41
1 files changed, 38 insertions, 3 deletions
diff --git a/var/spack/repos/builtin/packages/libepoxy/package.py b/var/spack/repos/builtin/packages/libepoxy/package.py
index da614363b2..800dbc7303 100644
--- a/var/spack/repos/builtin/packages/libepoxy/package.py
+++ b/var/spack/repos/builtin/packages/libepoxy/package.py
@@ -6,16 +6,22 @@
from spack.package import *
-class Libepoxy(AutotoolsPackage):
+class Libepoxy(AutotoolsPackage, MesonPackage):
"""Epoxy is a library for handling OpenGL function pointer management for
you."""
homepage = "https://github.com/anholt/libepoxy"
- url = "https://github.com/anholt/libepoxy/releases/download/1.4.3/libepoxy-1.4.3.tar.xz"
- list_url = "https://github.com/anholt/libepoxy/releases"
+ url = "https://github.com/anholt/libepoxy/archive/refs/tags/1.5.9.tar.gz"
license("MIT")
+ build_system(
+ conditional("autotools", when="@:1.5.4"),
+ conditional("meson", when="@1.4.0:"),
+ default="meson",
+ )
+
+ version("1.5.10", sha256="a7ced37f4102b745ac86d6a70a9da399cc139ff168ba6b8002b4d8d43c900c15")
version("1.4.3", sha256="0b808a06c9685a62fca34b680abb8bc7fb2fda074478e329b063c1f872b826f6")
depends_on("c", type="build") # generated
@@ -26,6 +32,35 @@ class Libepoxy(AutotoolsPackage):
variant("glx", default=True, description="enable GLX support")
+ def url_for_version(self, version):
+ if self.spec.satisfies("@1.5.10:"):
+ # no more release artifacts are uploaded
+ return f"https://github.com/anholt/libepoxy/archive/refs/tags/{version}.tar.gz"
+ else:
+ return f"https://github.com/anholt/libepoxy/releases/download/{version}/libepoxy-{version}.tar.xz"
+
+
+class MesonBuilder(spack.build_systems.meson.MesonBuilder):
+
+ def meson_args(self):
+ # Disable egl, otherwise configure fails with:
+ # error: Package requirements (egl) were not met
+ # Package 'egl', required by 'virtual:world', not found
+ args = ["-Degl=no"]
+
+ # Option glx defaults to auto and was failing on PPC64LE systems
+ # because libx11 was missing from the dependences. This explicitly
+ # enables/disables glx support.
+ if self.spec.satisfies("+glx"):
+ args.append("-Dglx=yes")
+ else:
+ args.append("-Dglx=no")
+
+ return args
+
+
+class AutotoolsBuilder(spack.build_systems.autotools.AutotoolsBuilder):
+
def configure_args(self):
# Disable egl, otherwise configure fails with:
# error: Package requirements (egl) were not met