summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/qt-quick3d/package.py
diff options
context:
space:
mode:
authorWouter Deconinck <wdconinc@gmail.com>2023-02-05 21:38:05 -0600
committerGitHub <noreply@github.com>2023-02-05 22:38:05 -0500
commit07d7c32d79eb2f8a843aafc78e1d3ad4711b8ede (patch)
tree9552e9c78c09d84c9dfb8bf0330c0e1be89a3d98 /var/spack/repos/builtin/packages/qt-quick3d/package.py
parent017a15988c4acdb0cb517bcc4a27dfd93ea947f4 (diff)
downloadspack-07d7c32d79eb2f8a843aafc78e1d3ad4711b8ede.tar.gz
spack-07d7c32d79eb2f8a843aafc78e1d3ad4711b8ede.tar.bz2
spack-07d7c32d79eb2f8a843aafc78e1d3ad4711b8ede.tar.xz
spack-07d7c32d79eb2f8a843aafc78e1d3ad4711b8ede.zip
qt: new versions 6.4.0, 6.4.1, 6.4.2 (#34698)
* qt: new versions 6.4.0, 6.4.1 - New libpsl vendored dependency in qt-base. - New embree and tinyexr dependency in qt-quick3d. We need to figure out a better way to deal with these vendored dependencies in src/3rdparty. Removing them was a way to make sure they are not used unintentionally. Many of these dependencies cannot be overridden with a QT_FEATURE_system_* flag and are included directly in cpp files. Many change versions from release to release, so even if they use system (ie spack managed) versions we need to support this in the depends_on lines. What we can rely on? - src/3rdparty is where vendored stuff is stored - not much else... Possible ways to deal with this: - Change vendor_deps_to_keep to dict with versions, eg ``` vendor_deps_to_keep = { "xatlas": "@6:", "embree": "@6.4:", "tinyexr": "@6.4:", } ``` - Similarly introduce system_deps_to_use: ``` system_deps_to_use = { "assimp@5.2:": "@6:", } ``` and derive depends_on and QT_FEATURE_system_* from this dict. * qt-*: new version 6.4.2, invert vendored pkgs logic * qt-base: fix vendor_deps_to_avoid typo * qt-*: move lots into QtPackage base layer
Diffstat (limited to 'var/spack/repos/builtin/packages/qt-quick3d/package.py')
-rw-r--r--var/spack/repos/builtin/packages/qt-quick3d/package.py51
1 files changed, 13 insertions, 38 deletions
diff --git a/var/spack/repos/builtin/packages/qt-quick3d/package.py b/var/spack/repos/builtin/packages/qt-quick3d/package.py
index 8ba06d999f..dad09ddeef 100644
--- a/var/spack/repos/builtin/packages/qt-quick3d/package.py
+++ b/var/spack/repos/builtin/packages/qt-quick3d/package.py
@@ -4,63 +4,38 @@
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
-import os
-import shutil
-
from spack.package import *
+from spack.pkg.builtin.qt_base import QtBase, QtPackage
-class QtQuick3d(CMakePackage):
+class QtQuick3d(QtPackage):
"""A new module and API for defining 3D content in Qt Quick."""
- homepage = "https://www.qt.io"
- url = "https://github.com/qt/qtquick3d/archive/refs/tags/v6.2.3.tar.gz"
- list_url = "https://github.com/qt/qtquick3d/tags"
-
- maintainers("wdconinc", "sethrj")
+ url = QtPackage.get_url(__qualname__)
+ list_url = QtPackage.get_list_url(__qualname__)
+ version("6.4.2", sha256="940145615fe3c4c8fb346c5bfc10f94fc7a4005c8c187886e0f3088ea0ce0778")
+ version("6.4.1", sha256="67daeed69b9e7b3da516c6205e737fdba30a267978c1fb9d34723a6dc5588585")
+ version("6.4.0", sha256="37987536da151b7c2cddabfde734759ebe6173708d32cb85aa008e151751270e")
version("6.3.2", sha256="a3ec81393f1cd45eb18ee3d47582998679eef141b856bdd2baa2d41f019a0eea")
version("6.3.1", sha256="79f0813ff776dc2aa07a8513ecd9d550dd8d449dc8fcd834fb0c9b22ea4a1893")
version("6.3.0", sha256="413dec87828155ea0c0424e6b40c777bf0710f1ffaf98969c5d8b19ad3992823")
version("6.2.4", sha256="7292ed4373a92913c6811f2faa5191f0426f84bd93a3f6eb7d54b62626b56db5")
version("6.2.3", sha256="35d06edbdd83b7d781b70e0bada18911fa9b774b6403589d5b21813a73584d80")
- generator = "Ninja"
-
- # Changing default to Release for typical use in HPC contexts
- variant(
- "build_type",
- default="Release",
- values=("Release", "Debug", "RelWithDebInfo", "MinSizeRel"),
- description="CMake build type",
- )
-
- depends_on("cmake@3.16:", type="build")
- depends_on("ninja", type="build")
- depends_on("pkgconfig", type="build")
- depends_on("python", when="@5.7.0:", type="build")
-
depends_on("assimp@5.0.1:")
+ depends_on("embree", when="@6.4:")
+
+ vendor_deps_to_remove = ["assimp", "embree"]
- _versions = ["6.3.2", "6.3.1", "6.3.0", "6.2.4", "6.2.3"]
- for v in _versions:
+ for _v in QtBase.versions:
+ v = str(_v)
depends_on("qt-base@" + v, when="@" + v)
depends_on("qt-declarative@" + v, when="@" + v)
depends_on("qt-quicktimeline@" + v, when="@" + v)
- def patch(self):
- vendor_dir = join_path(self.stage.source_path, "src", "3rdparty")
- vendor_deps_to_keep = ["xatlas"]
- with working_dir(vendor_dir):
- for dep in os.listdir():
- if os.path.isdir(dep):
- if dep not in vendor_deps_to_keep:
- shutil.rmtree(dep)
-
def cmake_args(self):
- args = [
- # Qt components typically install cmake config files in a single prefix
- self.define("QT_ADDITIONAL_PACKAGES_PREFIX_PATH", self.spec["qt-declarative"].prefix),
+ args = super().cmake_args() + [
self.define("FEATURE_quick3d_assimp", True),
self.define("FEATURE_system_assimp", True),
]