Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
88a9bc7
QtBase: Make OpenGL a build and run dep only
kwryankrattiger Apr 23, 2025
11e6dd7
Update constraints for Qt and GL support for @6: and @:5
kwryankrattiger Apr 24, 2025
8ce1822
Add missing Qt Base component to ParaView dep
kwryankrattiger Apr 29, 2025
caa60ab
Update constraints for Qt and GL support for @6: and @:5
kwryankrattiger Apr 24, 2025
f20c251
Add missing Qt Base component to ParaView dep
kwryankrattiger Apr 29, 2025
ebee654
Add missing network for qt-base and get Qt version correctly
kwryankrattiger May 6, 2025
ccce58e
Disallow X on windows and darwin OS
kwryankrattiger May 6, 2025
2ab86ba
Working on linux
kwryankrattiger May 13, 2025
4c84ea8
More updates to Qt6 packages
kwryankrattiger May 14, 2025
c25b52a
Use conditional for cmake build_system
kwryankrattiger May 16, 2025
5f9daa2
Turn off unused specs
kwryankrattiger Sep 8, 2025
ed2fe32
Updates to CI and recipes
kwryankrattiger Sep 30, 2025
3f83cbc
Point at external viskores
kwryankrattiger Oct 8, 2025
b421852
Qt-base: Pass opengl home
kwryankrattiger Oct 8, 2025
dcda201
Cairo: Drop gtk-doc requirement completely
kwryankrattiger Oct 10, 2025
7514590
Allow packages to specify extra arguments for cmake
kwryankrattiger Oct 10, 2025
e31a36f
Mesa pass extra cmake args for proper FindOpenGL detection
kwryankrattiger Oct 10, 2025
ad33fcf
ParaView: Update to use Viskores
kwryankrattiger Oct 10, 2025
17510db
ParaView: Drop constraint on cuda version for newer VTKm/Viskores
kwryankrattiger Oct 10, 2025
a6f3702
Fix linking GL
kwryankrattiger Oct 13, 2025
ba777e0
Update DAV project config and use_vtkm usage
kwryankrattiger Oct 14, 2025
d8e3fac
Undo bad patch constraints
kwryankrattiger Oct 16, 2025
eed8181
Always add subdirectories to runtime environment
kwryankrattiger Oct 17, 2025
27bc9a8
Add the libpxbackend library to the path
kwryankrattiger Oct 17, 2025
7c6875e
Attempting to be more strict on gcc not providing fortran
kwryankrattiger Oct 22, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions repos/spack_repo/builtin/build_systems/cmake.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,13 @@ def _maybe_set_python_hints(pkg: PackageBase, args: List[str]) -> None:
)


def _dependencies_cmake_extra_args(pkg: PackageBase, args: List[str]) -> None:
for dep in pkg.spec.traverse(deptype=("build", "link")):
extra_args = getattr(dep.package, "cmake_extra_args", None)
if extra_args:
args.extend(extra_args)


def _supports_compilation_databases(pkg: PackageBase) -> bool:
"""Check if this package (and CMake) can support compilation databases."""

Expand Down Expand Up @@ -406,6 +413,7 @@ def std_args(pkg: PackageBase, generator: Optional[str] = None) -> List[str]:

_conditional_cmake_defaults(pkg, args)
_maybe_set_python_hints(pkg, args)
_dependencies_cmake_extra_args(pkg, args)

return args

Expand Down
5 changes: 5 additions & 0 deletions repos/spack_repo/builtin/packages/apple_glu/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,8 @@ class AppleGlu(AppleGlBase):
provides("glu@1.3")

requires("platform=darwin", msg="Apple-GL is only available on Darwin")

def setup_dependent_build_environment(
self, env: EnvironmentModifications, dependent_spec: Spec
):
env.prepend_path("OpenGL_ROOT", self.prefix)
1 change: 1 addition & 0 deletions repos/spack_repo/builtin/packages/at_spi2_core/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ class AtSpi2Core(MesonPackage):
depends_on("libxi")
depends_on("libxml2", type="build", when="@2.47:")
depends_on("libxtst")
depends_on("libxml2")
depends_on("recordproto")
depends_on("inputproto")
depends_on("fixesproto")
Expand Down
2 changes: 1 addition & 1 deletion repos/spack_repo/builtin/packages/cairo/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@ class Cairo(AutotoolsPackage, MesonPackage):
# patch from https://gitlab.freedesktop.org/cairo/cairo/issues/346
patch("fontconfig.patch", when="@1.16.0:1.17.2")
# Don't regenerate docs to avoid a dependency on gtk-doc
patch("disable-gtk-docs.patch", when="build_system=autotools ^autoconf@2.70:")
patch("disable-gtk-docs.patch", when="build_system=autotools")


class MesonBuilder(meson.MesonBuilder):
Expand Down
9 changes: 9 additions & 0 deletions repos/spack_repo/builtin/packages/glx/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,18 @@ class Glx(BundlePackage):

version("1.4")

# GLX is only supported on Linux-like platforms
conflicts("platform=windows")
conflicts("platform=darwin")

depends_on("libglx")
provides("gl@4.5")

def setup_dependent_build_environment(
self, env: EnvironmentModifications, dependent_spec: Spec
):
env.prepend_path("OpenGL_ROOT", self.home)

@property
def home(self):
return self.spec["libglx"].home
Expand Down
13 changes: 7 additions & 6 deletions repos/spack_repo/builtin/packages/libproxy/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -56,12 +56,13 @@ class Libproxy(CMakePackage, MesonPackage):
extends("python", when="+python")

def setup_run_environment(self, env: EnvironmentModifications) -> None:
if self.spec.satisfies("+python"):
libs = self.spec["libproxy"].libs.directories[0]
if self.spec.satisfies("platform=darwin"):
env.prepend_path("DYLD_FALLBACK_LIBRARY_PATH", libs)
else:
env.prepend_path("LD_LIBRARY_PATH", libs)
libs = self.spec["libproxy"].libs.directories[0]
if self.spec.satisfies("platform=darwin"):
env.prepend_path("DYLD_FALLBACK_LIBRARY_PATH", join_path(libs, "libproxy"))
env.prepend_path("DYLD_FALLBACK_LIBRARY_PATH", libs)
else:
env.prepend_path("LD_LIBRARY_PATH", join_path(libs, "libproxy"))
env.prepend_path("LD_LIBRARY_PATH", libs)


class CMakeBuilder(cmake.CMakeBuilder):
Expand Down
41 changes: 29 additions & 12 deletions repos/spack_repo/builtin/packages/libxslt/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,13 @@
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

from spack_repo.builtin.build_systems.autotools import AutotoolsPackage
from spack_repo.builtin.build_systems.autotools import AutotoolsBuilder, AutotoolsPackage
from spack_repo.builtin.build_systems.cmake import CMakeBuilder, CMakePackage

from spack.package import *


class Libxslt(AutotoolsPackage):
class Libxslt(CMakePackage, AutotoolsPackage):
"""Libxslt is the XSLT C library developed for the GNOME project. XSLT
itself is a an XML language to define transformation for XML. Libxslt is
based on libxml2 the XML C library developed for the GNOME project. It also
Expand All @@ -22,6 +23,8 @@ class Libxslt(AutotoolsPackage):

license("X11", checked_by="wdconinc")

build_system(conditional("cmake", when="@1.1.35:"), "autotools", default="cmake")

version("1.1.42", sha256="85ca62cac0d41fc77d3f6033da9df6fd73d20ea2fc18b0a3609ffb4110e1baeb")
version("1.1.41", sha256="3ad392af91115b7740f7b50d228cc1c5fc13afc1da7f16cb0213917a37f71bda")
version("1.1.40", sha256="194715db023035f65fb566402f2ad2b5eab4c29d541f511305c40b29b1f48d13")
Expand All @@ -48,7 +51,9 @@ class Libxslt(AutotoolsPackage):
depends_on("libxml2+python", when="+python")
depends_on("xz")
depends_on("zlib-api")

depends_on("libgcrypt", when="+crypto")
conflicts("+crypto", when="platform=windows")

depends_on("python+shared", when="+python")
extends("python", when="+python")
Expand All @@ -59,6 +64,20 @@ def url_for_version(self, v):
else:
return f"http://xmlsoft.org/sources/libxslt-{v}.tar.gz"

@run_after("install")
@on_package_attributes(run_tests=True)
def import_module_test(self):
if self.spec.satisfies("+python"):
with working_dir("spack-test", create=True):
python("-c", "import libxslt")

def patch(self):
# Remove flags not recognized by the NVIDIA compiler
if self.spec.satisfies("build_system=autotools %nvhpc"):
filter_file("-Wmissing-format-attribute", "", "configure")


class AutotoolsBuilder(AutotoolsBuilder):
def configure_args(self):
args = []

Expand All @@ -74,14 +93,12 @@ def configure_args(self):

return args

@run_after("install")
@on_package_attributes(run_tests=True)
def import_module_test(self):
if self.spec.satisfies("+python"):
with working_dir("spack-test", create=True):
python("-c", "import libxslt")

def patch(self):
# Remove flags not recognized by the NVIDIA compiler
if self.spec.satisfies("%nvhpc"):
filter_file("-Wmissing-format-attribute", "", "configure")
class CMakeBuilder(CMakeBuilder):
def cmake_args(self):
return [
self.define_from_variant("LIBXSLT_WITH_PYTHON", "python"),
self.define_from_variant("LIBXSLT_WITH_CRYPTO", "crypto"),
self.define("DLIBXSLT_WITH_MODULES", False),
self.define("DLIBXSLT_WITH_TESTS", False),
]
4 changes: 4 additions & 0 deletions repos/spack_repo/builtin/packages/mesa/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -176,6 +176,10 @@ def flag_handler(self, name, flags):
flags.append("-std=c99")
return super().flag_handler(name, flags)

@property
def cmake_extra_args(self):
return ["-DOpenGL_GL_PREFERENCE:STRING=LEGACY"]

@property
def libglx_headers(self):
return find_headers("GL/glx", root=self.spec.prefix.include, recursive=False)
Expand Down
5 changes: 5 additions & 0 deletions repos/spack_repo/builtin/packages/mesa_glu/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,11 @@ class MesaGlu(AutotoolsPackage):
# patch switches all instances of register long to long to fix this.
patch("register-long.patch")

def setup_dependent_build_environment(
self, env: EnvironmentModifications, dependent_spec: Spec
):
env.prepend_path("OpenGL_ROOT", self.prefix)

def configure_args(self):
args = ["--disable-libglvnd"]

Expand Down
5 changes: 5 additions & 0 deletions repos/spack_repo/builtin/packages/openglu/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,11 @@ def fetcher(self):
def fetcher(self):
_ = self.fetcher

def setup_dependent_build_environment(
self, env: EnvironmentModifications, dependent_spec: Spec
):
env.prepend_path("OpenGL_ROOT", self.prefix)

@property
def libs(self):
return find_libraries("libGLU", self.prefix, shared=True, recursive=True)
Loading
Loading